第七章.組合查詢.總結

*重要注意點:
   1.查詢列的時候,會投影與分組,聚合函數有關的列。
   2.where 後面不能加聚合函數,只能是實際存在的列,數據。
   3.my sql 執行語句順序
     FROM
     WHERE
     GROUP BY
     SELECT
     HAVING
     ORDER BY
               第七章.組合查詢.總結
*使用子查詢
    1.嵌套在其他查詢中的查詢,稱爲子查詢。
 注意:
    num1.子查詢可以有多個,也可在子查詢中繼續使用子查詢;也可在主查詢中使用多個子查詢
    num2.在完整的sql結構語句中能嵌套子查詢的位置有:
    FROM,WHERE,GROUP BY,SELECT,HAVING,ORDER BY.
    num3.自連接需要別名。
    自連接即主查詢和子查詢的表是一樣的。
    2.子查詢也稱爲內部查詢,而包含子查詢的語句也稱爲外部查詢。
    3.所有的子查詢可以被分爲兩個類別:
      num1.相關子查詢(執行多次):相關子查詢的執行依賴於外部查詢的數據。外部查詢返回一次,子查詢就執行       一次。
      num2.非相關子查詢(只執行一次):非相關子查詢是獨立於外部查詢的子查詢。子查詢總共執行一次,執行完       畢後將值傳遞給外部查詢。
    4.舉例:

    SELECT columnA,(子查詢) AS columnB FROM 表名; 

    注意:<>和^=都表示爲!=(不等於)

   5.非相關子查詢比相關子查詢效率更高,但一旦用了子查詢,就會降低整個運行效率。

   6.如果子查詢和外部查詢使用的是一個表,而且裏外需要用到同一個屬性時,必須用到列別名。

   7.嵌套在SELECT後面的子查詢只能是單行單列。

   8.在FROM後面接子查詢必須要寫一個新的列表別名,可以寫多行多列。

   9.SELECT columnA FROM tableA WHERE columnB =(子查詢);

     注意:不需要在子查詢中的末尾加上分號,因爲它實際上是一個外部查詢語句的一部分。

   10.返回多個結果的子查詢 (IN)

       

       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章