小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

MySql數(shù)據(jù)庫多表操作

 印度阿三17 2019-05-28

連接查詢[連表查詢、多表查詢]

當(dāng)查詢結(jié)果的列來源于多張表時(shí),需要將多張表連接成一個(gè)大的數(shù)據(jù)集,再選擇合適的列返回

mysql支持三種類型的連接查詢,分別為:

內(nèi)連接查詢(inner join)

查詢的結(jié)果為兩個(gè)表匹配到的數(shù)據(jù)

使用內(nèi)連接,必須保證兩個(gè)表都會對應(yīng)id的數(shù)據(jù)才會被查詢出來。

? ? ? ? ? ? ? ??

?

格式:select 字段1,字段2... from 主表A inner join 從表B on 主表A.主鍵=從表B.外鍵

例如:查詢學(xué)生的信息[ 成績、名字、班級 ]? ? ? ??我們給學(xué)生表添加一個(gè)學(xué)生信息,然后使用該學(xué)生的主鍵id來連表查詢成績、名字和班級。

insert into student (name,sex,age,class,description) values ('劉德華',1,17,406,'');

select achievement,name,class 
from student as a 
inner join achievement as b 
on a.id=b.sid
where id=101;

# 上面語句因位該學(xué)生只在學(xué)生表student中有數(shù)據(jù),而成績表中沒有數(shù)據(jù),所以使用內(nèi)連接,連表查詢的結(jié)果是
Empty set (0.00 sec)

?

同樣,如果從表有數(shù)據(jù),而主表沒有數(shù)據(jù),則使用內(nèi)連接查詢一樣無法查詢到結(jié)果。

#例如,添加一個(gè)成績記錄,是不存在學(xué)生
insert into achievement (sid,cid,achievement) values (102,10,85);
 
select achievement,name,class 
from student as a 
inner join achievement as b 
on a.id=b.sid
where id=102;

右連接查詢(right join)

只要從表有數(shù)據(jù),不管主表是否有數(shù)據(jù),都會查詢到結(jié)果。[以從表的結(jié)果為主 例如:a.id=b.sid,只要b表的sid存在就可以 ;? a.id不存在不要緊??左表中不存在的數(shù)據(jù)使用null填充]

查詢的結(jié)果為兩個(gè)表匹配到的數(shù)據(jù),右表特有的數(shù)據(jù),對于左表中不存在的數(shù)據(jù)使用null填充

? ? ? ? ? ? ?

?

格式:select 字段1,字段2... from 主表 right join 從表 on 主表.主鍵=從表.外鍵

select achievement,name,class from student as a 
right join achievement as b 
on a.id=b.sid
where b.sid=102;

?

?

來源:http://www./content-2-211651.html

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多