小貝_mysql select串連查詢

來源:互聯網
上載者:User

標籤:男女   2.4   並集   相互轉換   聯合   nio   去重   右串連   取出   

select串連查詢 簡要:
一、union聯集查詢
二、左右內串連


一、union聯集查詢

作用: 把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聯合



The quieter you become,the more you are able to hear!

小貝_mysql select串連查詢

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.