1. 程式人生 > >資料庫MySQL(來自自己的部分學習文件--《MySQL必知必會》)

資料庫MySQL(來自自己的部分學習文件--《MySQL必知必會》)

(博主有記錄學習文件的習慣,但是後來發現文件過多當想檢視時不方便,所以特記錄到部落格中)
一. DB DBS DBMS區別
在這裡插入圖片描述
二、 外模式 概念模式 內模式
在這裡插入圖片描述
三、分組和查詢
1. 過濾分組
Having和groupby
在這裡插入圖片描述
同時利用where和having進行資料過濾篩選。Where先,其次是groupby,再者是having。
在這裡插入圖片描述
2. 子查詢
在這裡插入圖片描述
在這裡插入圖片描述
3. 巢狀子查詢
在這裡插入圖片描述
在這裡插入圖片描述
4. 組合查詢
Union進行組合查詢:兩條SELECT語句組成,語句中用UNION關鍵字分隔。
Union預設會取消重複的行,再將結果返回。若是不希望被取消重複的行,可以使用union all
若是要對組合查詢的結果進行排序,order by子句只能使用一次,並且必須出現在最後一條select語句之後

四. 資料連線join
在這裡插入圖片描述
1.笛卡爾積:A錶行數*B錶行數
在這裡插入圖片描述

2. 等值聯結(equijoin),它基於兩個表之間的相等測試。這種聯結也稱為內部聯結。
內部連結:innerjoin eg:……….from 表明 innerjoin 表名 on 列=列
在這裡插入圖片描述
3. 多表連線:若是用where 篩選多個條件,對於效能有所影響
在這裡插入圖片描述
4. 自連線:表與自身連線做查詢(可用到表別名 AS)

5.外部連線(OUTER JOIN ):可以連線表之間沒有關聯的那些行。
LEFT outer join…on…和RIGHT outer join…on…
使用LEFT OUTER JOIN從FROM 子句的左邊表(customers表)中選擇所有行。為了從右邊的表中選擇所有行,應該使用RIGHT OUTER JOIN。
在這裡插入圖片描述


上述意思為:查出所有使用者的訂單情況,連線的使用者表和訂單表,以使用者表為基準,在訂單表進行查詢,有就顯示,沒有就顯示null。