日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

inner join on 加条件和where加条件_SQL学习笔记 - GROUP BY / JOIN / UNION

發布時間:2023/12/3 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 inner join on 加条件和where加条件_SQL学习笔记 - GROUP BY / JOIN / UNION 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在DataCamp上學習SQL(基于PostgreSQL)的課程,本文主要記錄自己易記混的點,以便日后參考學習,不做原理講解。

  • GROUP BY(分組)一般和聚合函數一起使用,包括COUNT(),AVG(),MAX(),MIN(),SUM();一般跟在FROM后面;SELECT語句中未出現在聚合函數里的列都要出現在GROUP BY。
  • 2. WHERE/ GROUP BY/ HAVING/ ORDER BY 執行順序

    SELECT

    首先WHERE將最原始記錄中不滿足條件的記錄刪除(所以應該在where語句中盡量將不符合條件的記錄篩選掉,這樣可以減少分組的次數),WHERE語句不能用聚合函數;

    然后通過GROUP BY關鍵字對數據進行分組 ;

    接著根據HAVING關鍵字后面指定的篩選條件,將分組后不滿足條件的記錄篩選掉,(HAVING可以用聚合函數,如 HAVING AVG(col) > 10;

    最后按照ORDER BY語句進行排序。

    WHER子句在聚合前先篩選記錄,也就是說作用在GROUP BY和 HAVING子句前;而HAVING子句在聚合后對組記錄進行篩選。

    3. JOIN

    INNER JOIN / JOIN : only includes records in which the key is is both tables.

    LEFT JOIN:keeps all of the records in the left table while bringing in missing values for those key field values that don't appear in the right table.

    RIGHT JOIN:keeps all of the records in the right table while bringing in missing values for those key field values that don't appear in the left table.

    FULL JOIN:combines a LEFT JOIN and a RIGHT JOIN, it will bring in all records from both the left and the right table and keep all of the missing values accordingly.

    當用于聯結兩個表的字段相同時,USING等價于JOIN操作中的ON,如以下2個實例等價:

    SELECT a.name, b.age FROM test AS a JOIN test2 AS b ON a.id = b.id;等價于SELECT a.name, b.age FROM test AS a JOIN test2 AS b USING(id);

    注:細微區別在與,USING(id) 在結果集中只會有一個id列。

    4. UNION

    UNION:includes every record in both tables but DOES NOT double count those that are in both tables.(包含兩個表中的每個記錄,但重復的行,最終只會出現一次)

    UNION ALL:includes every record in both tables and DOES replicate those are in bot tables.(包括兩個表中的每個記錄,并且保留重復行)

    INTERSECT:results in only those records found in both of the tow tables.(交集,兩個集中共同的部分)

    EXCEPT:results in only those records in one table BUT NOT the other.(差異,兩個集中不重復的部分)

    你的點贊是我持續更新的動力~ 謝謝 Thanks?(・ω・)ノ

    其他SQL學習筆記 友情鏈接:

    JessieY:SQL學習筆記 - 窗口函數OVER?zhuanlan.zhihu.comJessieY:SQL學習筆記 - CTE通用表表達式和WITH用法?zhuanlan.zhihu.comJessieY:SQL學習筆記 - CASE WHEN THEN?zhuanlan.zhihu.com

    總結

    以上是生活随笔為你收集整理的inner join on 加条件和where加条件_SQL学习笔记 - GROUP BY / JOIN / UNION的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。