2014-06-06 107 views
-1

面試過程中遇到過這個問題嗎? 。 「有一個sql查詢有where,where,group by,order by子句,所以當你試圖運行這個查詢時,哪個條件將首先執行?有說:」哪裏的類將首先執行。 「但我想知道確切的順序SQL查詢以下。因此,關於sql查詢的優先級列表?

是SQL是以下的任何命令基於它的條件來執行查詢?

如果是的話,請告訴我是什麼順序

P> S:是否嘗試過與很多網絡資源,但沒有運氣

+0

你的問題是不壞本身,但嚴重lac k可讀性 - 有人將其標記爲低質量。請編輯它以更加結構化並清理標點符號/語法。 – Xan

回答

2

SQL Query Order of Operations

1.FROM clause 
2.WHERE clause 
3.GROUP BY clause 
4.HAVING clause 
5.SELECT clause 
6.ORDER BY clause 
+0

是的,這是一個通用的答案+1。 – Rahul

2

的。不是先來。這是MSSQL的順序:

  1. FROM
  2. ON
  3. OUTER
  4. WHERE
  5. GROUP BY
  6. CUBE | ROLLUP
  7. HAVING
  8. SELECT
  9. DISTINCT
  10. ORDER BY
  11. TOP

編輯

談到的一般情況。執行的順序是:

  1. FROM
  2. WHERE
  3. GROUP BY
  4. HAVING
  5. SELECT
  6. ORDER BY

參考:

+0

我沒有看到OP詢問SQL Server的具體答案;而是一個通用的SQL特定答案。 – Rahul

+0

@Rahul:更新答案 – Arion

+0

在這種情況下,您的回答值得+1。 – Rahul

2

從訓練套件Querying MS SQL Server 2012,15頁摘自:
邏輯查詢處理階段:

1. FROM 
2. WHERE 
3. GROUP BY 
4. HAVING 
5. SELECT 
6. ORDER BY 
+0

如果你有這個參考鏈接,那麼它會給你一些更多的想法或澄清你的答案。 –

+0

@Yagnesh,我從書中複製它,因此沒有鏈接。如果我有,將來會提供一個答案! :) – CoolWilly