由於後來發現這部分沒有總結完,於是做了個補充SELECT語句的補充——巢狀查詢和聯結查詢
SQL server的語句分為三類:
資料定義語言 (Data Definition Language)(DDL):用於定義資料結構。常見語句有(CREATE、DROP、ALTER)
資料操縱語言(DML):用於檢索和修改資料結構。常見語句有(INSERT、UPDATE、SELECT、DELETE)
資料控制語言(DCL):用於規定資料庫使用者的使用許可權。常見語句有:(GRANT、REVOKE)
其中最重要的就是資料操縱語句中的SELECT語句,在耿建玲老師的視頻中,耿建玲老師重點強調了SELECT語句,用四集將 近九十分鐘詳細講述了SELECT語句。那SELECT語句到底是怎麼樣的呢? 看: SELECT語句的特點和範圍就不用說了,一目瞭然,主要看下面的子句吧~~~~~ SELECT語句: 結構:SELECT [ ALL / DISTINCT ] select_list [ INTO [ new_table_name] ] FROM { table_name/view_name} [ [ , {table_name2 /view_name2} [ ...... , { view_name16/ view_name16 } ] ] [ WHERE search_conditions ] [ GROUP BY group_by_list] [ HAVING search_conditions ] [ ORDER BY order_list [ ASC/DESC ] ] 1)SELECT子句:指定通過查詢返回的表的列。 文法:SELECT [ ALL/DISTINCT ] [ TOP n ] < select_list > 分析:select_list表示需要檢索的欄位的列表。若此時是select * ,則系統將返回資料表中的所有欄位。 ALL指明查詢結果中可 以顯示值相同的列,同時all也是系統預設值。 DISTINCT知名查詢結果中若返回的值有相同的列時,只返回其中的一列。 TOP n指定返回查詢結果的前n項資料。 2)INTO子句:用於將查詢結果放到一個新表中 文法:INTO new_table 分析:new_table制定了建立表的名稱,新表的列由select子句指定的列構成,資料行由where子句指定。 3) FROM子句:指定需要進行資料查詢的表。 文法:FROM{ < table_source> } [ ,....n] 分析:Table_source指明select語句要用到的表、視圖等資料來源。 4) WHERE子句:指定資料查詢的條件,過濾掉不需要的資料行。 查詢條件:比較查詢條件,包括<、>、<=、>=、=、!<、!>、!= 列表查詢條件,包括IN、NOTIN 模式查詢條件,包括LIKE、NOTLIKE、*(萬用字元) 空值判斷條件,包括IS NULL、IS NOT NULL 還有合格上述條件的邏輯組合:AND、OR、NOT 5) GROUP BY子句:指定查詢結果的分組條件。 文法:GROUP BY [ all ] group_by_expression [ ,...n] [ with { cube/rollup } ] 分析:group_by_expression指明分組條件,通常是一個列名,但不能是列的別名,對text、ntext、image資料類型限制 all返回所有可能查詢的結果組合(即使組合中沒有where子句) 注意:all不能與cube和rollup同時使用。 cube和rollup的區別下次分析 6)HAVING子句:指定分組搜尋條件,通常與GROUP BY子句一起使用。 文法:HAVING < search_condition>,與where子句類似。 分析: WHERE子句作用於表和視圖,HAVING子句作用於作用於組 7)ORDER BY 子句:指定查詢結果的排序方式。 文法:ORDER BY { order_by_expression [ ASC/DESC] } [ , .....n] 分析:order_by_expression指定定序 ASC選出的項按升序排列 DESC選出的項按降序排列 8)COMPUTE子句:查詢結果的末尾產生一個摘要資料行。 文法:COMPUTE {{ AVG/COUNT/MAX/MIN/SUM} ( expression) }[,....n] [ BY expression [ ,....n ] ] 分析:expression指定需要統計的列的名稱,此列必須包含在select列表中,且不能用別名。 BY expression在查詢結果中產生分類統計的行,使用此項必須使用ORDER BY子句(order_by_name) 9)UNION子句:將兩個或兩個以上的查詢結果合并為一個結果集。 文法:SELECT語句 UNION[ all ] SELECT語句 分析:UNION子句將從最終結果集中重複資料刪除的記錄,如果想保留所有記錄,則使用all子句 只能在最後的SELECT語句使用ORDER BY或COMPUTE子句。 基本規則:列的數目和順序在所有查詢中一致 資料類型要相容