mysql數據庫 sql語句學習筆記03   查詢  聚合 表連接 記錄聯合
2024-07-24 12:59:46
供稿:網友
 
聚合    SELECT [field1,field2 , ....] function_name FROM tablename [WHERE where_contition] [GROUP BY  field1,field2... [WITH ROLLUP]] [HAVING where_contition]其中 field 表示列名     function_name 表示需要進行的聚合操作  可選值可以是 sum 求和 ,    count(*) 記錄數 ,  max 最大值 , min 最小值      where_contition 表示篩選條件     GROUP_BY 表示 需要進行聚合操作的字段       WITH ROLLUP (可選)表示是否需要對聚合的字段進行再匯總操作     HAVING (可選)  表示可以對已聚合分類的結果進行再次篩選表連接    表連接是表示當需要同時顯示多個表的字段的時候使用的   大致可分為 內連接和外連接  內連接 例  select table1_field1,table2_field1 from table1,table2 where table1.table1_field1=table2.table2_field1;外連接   外連接又可分為 左連接和右連接左連接: 包含所有的左邊表中的記錄甚至是右邊表中沒有和它匹配的記錄右連接: 包含所有的右邊表中的記錄甚至是左邊表中沒有和它匹配的記錄>_<!!  貌似剛剛相反左連接例:select table1_field1,table2_field1 from table1 left  join table2 on  where table1.table1_field1=table2.table2_field1;  右連接例:select table1_field1,table2_field1 from table1 right join table2 on  where table1.table1_field1=table2.table2_field1;子查詢   某些情況下 進行查詢的時候 需要的條件是另一個select查詢的結果 這個時候就須用到子查詢  用于子查詢的關鍵字 主要包括  in , not in ,= ,!= , exists ,not exists 等等 例如:  select * from table1 where field in(select table2_field1 from table2);        select * from table1 where field =(select table2_field1 from table2 limit 1);記錄聯合  兩個表的數據查詢出來后將其合并到一起并顯示出來   關鍵字有  union , union all例如:select table1_field1 from table1  union all select table2_filed1 from table2  ;   /// 全部顯示     select table1_field1 from table1  union select table2_filed1 from table2  ;       ///去除重復后顯示