<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
SQL(Structured Query Language)是一種標準,作為一種存取【關係型資料庫的標準語言】。許多資料庫產品,如Oracle,DB2,SQL Server,PostgreSQL,MySQL都支援它。近幾年的NoSQL最初是宣稱不再需要SQL,後來也不得不修正為Not Only SQL,來擁抱SQL。
目前比較典型的版本是 SQL 92標準。包括MySql在內的其他資料庫,在SQL 92 或 SQL 99這些標準基礎之上,還擴充套件了一些自己的SQL語句,如 MySQL中的limit關鍵字。
DDL
資料定義語言,用來定義資料庫物件,資料庫,表,列等。如create,alter,drop等
DML
資料操作語言,用來對資料庫中的表的記錄進行更新。如insert,update,delete等
DCL
資料控制語言,用來定義資料庫的存取許可權,安全級別等。如grant等
DQL:
資料查詢語言,用來查詢。如select,from,where等
# 語法順序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP BY <group_by_list> HAVING <having_condition> ORDER BY <order_by_condition> LIMIT <limit_number> # 解析順序 FROM <left_table> ON <join_condition> <join_type> JOIN <right_table> -- 這一步和上一步,會迴圈執行 WHERE <where_condition> -- 這一步會迴圈執行,多個條件從左往右 GROUP BY <group_by_list> HAVING <having_condition> SELECT -- 分組之後才執行SELECT DISTINCT <select_list> ORDER BY <order_by_condition> LIMIT <limit_number> -- 這一步是MySQL獨有的語法,前面都是SQL92標準
對FROM的左表和右表計算笛卡爾積,產生虛表VT1
select * from seller join product;
產生虛表VT1後,通過ON關鍵字進行篩選,只有符合<join_condition>條件的才會被篩選到虛表VT2
select * from seller s join product p on s.id = p.id;
LEFT (OUTER) JOIN : 會返回左表(保留表)中全部記錄以及右表中滿足ON條件的記錄
RIGHT (OUTER) JOIN : 同理
INNTER JOINT : 只返回左右兩表中滿足ON條件的記錄
若指定了OUTER JOIN(LEFT JOIN,RIGHT JOIN),那麼保留表中未匹配ON條件的行,就會作為外部行,新增到虛表VT2中,形成虛表VT3。
select * from seller s right join product p on s.id = p.id;
若FROM子句,包含不止2個表,則會對上一個join連線產生的結果VT3,和下一個表重複執行上面的步驟
根據where條件過濾
對結果進行分組
-- mysql 8 預設開啟了 only_full_group_by select version(),@@sql_mode; -- 需要把這個選項關掉, set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; -- 後執行group by 正常 select * from user group by name;
對分組的結果,進行having條件過濾
選取指定的列
針對某列去重
注意DISTINCT 一定要SELECT的第一列,加在後面無效
-- 下面無效 select id, distinct name from user; -- 下面有效 select distinct name from user;
distinct 後加多列,則是將多列拼接在一起來去重
若想根據某一列去重,並顯示出整行的資料,可以用GROUP BY
排序
分頁
注意:對於select中的列的別名,只有在order by中才能使用,由上面的SQL解析順序可知
到此這篇關於MySQL學習之QL語法及SQL解析順序的文章就介紹到這了,更多相關SQL語法及解析順序內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45