小貝 mysql select連線查詢

2021-09-07 13:17:58 字數 3098 閱讀 9463

作用: 把2次或多次查詢結果合併起來

具體: (表1查詢結果) union (表2查詢結果)

執行: 先算表1查詢結果,再算表2查詢結果。再通過union把結果聯合起來。

總結:a、左右查詢結果列數一致

b、終於顯示結果以第一張表的列名為主

c、左右查詢結果的列型別最好也一致。不然就會進行轉換。

由低到高。如表1結果a列為整形,表2結果a列為浮點型。則表1在a列的結果轉換為浮點型

d、能夠是不同表

e、假設不同的語句中取出的行,有全然同樣(每乙個列的值都同樣),那麼同樣的行將會合併(去重)

案例:

查詢 這種結果:

a16,b 21,c 14,d 41步驟1: union來獲取兩張表的查詢結果

步驟2: 把步驟1的查詢結果看成暫時表

不足之處: 上述案例中表ta和tb中不存在全然同樣的列(即查詢結果中全部列的值都一樣)

改動下tb表

此時。執行步驟2的sql語句

發現id為a的值總和為5而不是為10.

這是由於假設不同的語句中取出的行,有全然同樣(每乙個列的值都同樣),那麼同樣的行將會合併(去重)

處理方案: 用union all

二、連線查詢

通常情況下表與表之間是沒有什麼關係的。可是我們能夠通過乙個字段,讓表與表發生關係。

把錶看成集合。

2.1、左連線

語法: select 列1。列2。列n from tablea left join tableb on tablea.列=tableb.列

2.2、右連線

語法: select 列1,列2,列n from tablea right join tableb on tablea.列=tableb.列

2.3、內連線

語法: select 列1,列2,列n from tablea inner join tableb on tablea.列=tableb.列

2.4、左右內連線的差別

create table boy

( name char(3) not null,

flower char(5)

)engine=myisam charset utf8;

create table girl

( name char(3),

flower char(5)

)engine=myisam charset utf8;

insert into boy values('林書豪','玫瑰'),('劉翔','桃花'),('周杰倫','茉莉花'),('犀利哥','荷花'),

('劉德華','狗尾巴花');

insert into girl values('艾薇爾','玫瑰'),('居里夫人','桃花'),('芙蓉姐','茉莉花'),('鳳姐','茉莉花'),('林志玲','荷花');

案例一: 依據花,男找女

左連線以左表為準。去右表找匹配資料,找不到匹配,用null補齊。

總結: tablea為n ;tableb為m。則在以tablea為左表的情況下,得到的資料行數至少為n行。

案例二: 依據花,女找男

總結: 左連線和右連線相互轉換。

a 在 b的左邊  ==》b在a的右邊

a left join b  ==

》b rightjoin a

怎樣記憶:

1、 左右連線能夠相互轉化

2、 能夠把右連線轉換為左連線來使用(相容其他資料版本號)

案例三: 不管男女,查詢有伴的人

總結: 內連線inner join 查詢左右連線都有的資料。即得到左右連線的交集

思考: 是否能查出左右連線的並集呢?

答: 眼下不能直接獲取,眼下的mysql不支援外鏈結。

但能夠用union聯合

小貝 mysql select連線查詢

作用 把2次或多次查詢結果合併起來 詳細 表1查詢結果 union 表2查詢結果 執行 先算表1查詢結果,再算表2查詢結果。再通過union把結果聯合起來。總結 a 左右查詢結果列數一致 b 最終顯示結果以第一張表的列名為主 c 左右查詢結果的列型別最好也一致,不然就會進行轉換。由低到高。如表1結果...

小貝 mysqlselect連線查詢

作用 把2次或多次查詢結果合併起來 詳細 表1查詢結果 union 表2查詢結果 執行 先算表1查詢結果,再算表2查詢結果。再通過union把結果聯合起來。總結 a 左右查詢結果列數一致 b 最終顯示結果以第一張表的列名為主 c 左右查詢結果的列型別最好也一致,不然就會進行轉換。由低到高。如表1結果...

小貝學習html 列表

html 列表 作用 列表標記可以建立一般的列表 編號列表或加著重號列表,以及定義列表。還可以在一種列表中巢狀另一種列表。列表可以分為 1 無序列表 2 有序列表 3 自定義列表 1 無序列表 功能 表示結束.表示乙個專案.2 實心圓 3 空心圓 4 方形 5 去掉形狀 1 數字12 2 小寫字母1...