mysql部落格園 mysql

2021-10-17 22:43:02 字數 2295 閱讀 3232

一、聯合查詢

在兩種情況下可能用到:1、想要的結果在一條語句中會引起邏輯衝突,只能放在兩條語句中是要使用聯合查詢

2、一張表的資料量非常大時,會分隔成多張表儲存,要查詢時也要用到聯合查詢

2,  聯合查詢中的order by必須搭配上limit關鍵字才能生效!因為系統預設的聯合查詢的結果往往比較多,所以要加以限制,當然,如果想顯示全部的資料,可以在limit子句後面加上乙個很大的數,比如:999999

關鍵字:union

語法形式

select語句1

union[union選項]

select語句2

union[union選項]

select語句3

union[union選項]

union 選項  all:也是預設值,保留所有的查詢結果!

distinct:去重(預設值),去掉重複的查詢結果!

二、交叉連線

關鍵字:cross join

語法:select  * |字段列表from表1  cross join表2

含義:就是從一張表的一條記錄去連線另一張表中的所有記錄,並且儲存所有的記錄,其中包括兩個表的所有的字段!從結果上看,就是對兩張表做笛卡爾積!

三、內連線

語法:select *|字段列表from左表inner join右表on左表.欄位=右表.欄位;      其中inner可以省略

內連線的本質還是在做交叉連線,只不過是在交叉連線的基礎之上加上一定的連線條件!符合連線條件的才會被顯示,不符合的就不顯示!(這樣有可能丟失資料)!

所以,如果內連線的時候沒有連線條件,此時內連線就相當於是交叉連線!

四、外連線

外連線分為左外連線left  outer   join(左表為主表)和右外連線right  outer  join(右表為主表);

是拿主表的每一條記錄按照on後面的條件去匹配從表,如果匹配成功,那麼就保留兩張表的所有的記錄,如果匹配失敗(也就是主表的一條記錄無法匹配從表的所有的記錄),此時,只保留主表的記錄,從表的記錄全部用null代替,這樣主表資料不會丟失

五、自然連線

自然連線分為自然內連線natural  inner  join ,自然左/右連線natural left/right  join

自然連線的本質跟前面的內連線和外連線沒有太大區別,只是這裡的連線條件不是由使用者來指定,而是由系統來指定罷了

只要兩張表中具有相同的欄位名,系統就認為是乙個連線條件,就會主動的去匹配這兩個相同的欄位名的值是否相同,如果兩個表的相同的欄位名的值相同,就認為匹配成功;如果兩張表中有多個欄位名相同,則所有相同的欄位名的值都要相同才算是匹配成功

六、子查詢

1、標量子查詢

往往就是把標量子查詢的結果當成乙個值來使用,比如用來判斷,參與運算等

例:2、列子查詢

也就是返回單列的子查詢,也叫作列子查詢!

列子查詢的結果往往就是一系列相同屬性的資料的集合,所以,我們一般就是把列子查詢的結果當成乙個集合來看待,也通常就是配合in和not in集合運算子來使用!

3、行子查詢

查詢結果為一行的子查詢就叫作行子查詢!

行子查詢使用的不是很多,必須在查詢的過程中構造乙個行元素才能與子查詢的結果進行比較!

所謂的構造行元素,就是乙個由多個字段組成的元素,形式上就是將多個欄位用乙個括號括起來!

4、錶子查詢

返回結果是多行多列的子查詢就叫作錶子查詢!

錶子查詢一般都是from型,也就是出現在from之後,一般當成乙個資料來源來使用!

例:不使用統計函式,而使用錶子查詢

1),  先對整個表根據score欄位進行排序(公升序)

2),  對排序後的結果再根據home欄位進行group by,因為group by只取每乙個分組的第乙個記錄!

如果想查所有家鄉的所有的最低分(可能有重複情況):

select * from php_student natural join (select home,min(score) as score from php_student group by home) as m;

5、exists子查詢

exists主要是用來做判斷的,返回的結果是乙個布林值!

判斷依據:如果子查詢可以返回資料,那麼exists的結果就是true,否則就是false!

exists的主要作用就是判斷後面的select語句有沒有查詢到資料

mysql安裝 部落格園 mysql安裝

2.解壓 解壓並在解壓後根目錄建立my.ini和data資料夾 basedir 替換成自己的根目錄 my.ini client 設定mysql客戶端預設字符集 default character set utf8 mysqld 設定3306埠 port 3306 設定mysql的安裝目錄 based...

mysql 命令 部落格園 MySQL 命令

mysql 命令 mysql h主機位址 u使用者名稱 p密碼 連線mysql 如果剛安裝好mysql,超級使用者root是沒有密碼的。例 mysql h110.110.110.110 uroot p123456 注 u與root可以不用加空格,其它也一樣 exit 退出mysql mysqladm...

mysql入門部落格園 MySQL入門

mysql是一種資料庫管理系統dbms。dbms分為兩類,一類是以microsoft acess為代表的基於共享檔案系統的dbms,用於桌面用途 另一類是mysql,oracle等基於客戶機 伺服器的資料庫。具體來說,使用者通過客戶機軟體請求乙個表,客戶機軟體通過網路提交該請求給伺服器軟體,伺服器軟...