sql多表查詢

普通多表查詢

//查詢兩張表的所有數(shù)據(jù)
select * from 表名1,表名2 where 表名1.字段名 = 表名2.字段名;
//查詢指定字段的數(shù)據(jù)
select 表名1.字段名,表名2.字段名  from 表名1,表名2 where 表名1.字段名 = 表名2.字段名;

嵌套多表查詢

select * from 表名 where 字段名 in(select 字段或者函數(shù) from 表名);
//例如
select name from user where id in(select max(id) from user);

鏈接多表查詢

  • 左鏈接(會(huì)將左表的內(nèi)容全部輸出,沒有需要補(bǔ)NULL)
select * from 表名1 left join 表名2 on 表名1.字段名 = 表名2.字段名;
select * from 表名1 as a left join 表名2  as b on a.字段名 = a.字段名;
//例如
select class.name if(count(user.id),count(user.id),'無(wú)') from class left join user on class.id=user.class_id group by class.id;
  • 右鏈接(會(huì)將右表的內(nèi)容全部輸出,沒有需要補(bǔ)NULL)
select * from 表名1 right join 表名2 on 表名1.字段名 = 表名2.字段名;
select * from 表名1 as a right join 表名2  as b on a.字段名 = a.字段名;
//例如
select class.name if(count(user.id),count(user.id),'無(wú)') from user left join class on class.id=user.class_id group by class.id;
  • 內(nèi)鏈接(完全等價(jià)于普通多表查詢,必須符合條件的多個(gè)表的數(shù)據(jù)才會(huì)顯示)
select class.name count(user.id) from class left join user on class.id=user.class_id group by class.id;

having的使用方法

//使用class_id為分組聚合條件之后,使用having再class_id作為條件篩選一次
select class_id from user group by class_id having class_id<2;

問題:將所有班的總?cè)藬?shù)統(tǒng)計(jì)出來(lái),前提是有些班沒有人

select class.name if(count(user.id),count(user.id),'無(wú)') from class inner join user on class.id=user.class_id group by class.id;

問題:用戶表,里面有很多用戶,有一列是成績(jī),請(qǐng)統(tǒng)計(jì)這張表中及格人數(shù)和不及格人數(shù)

select sum(if(score>=60,1,0)) jige ,sum(if(score<60,1,0)) bujige from user;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 連接查詢包括合并、內(nèi)連接、外連接和交叉連接,如果涉及多表查詢,了解這些連接的特點(diǎn)很重要。只有真正了解它們之間...
    小喜_ww閱讀 1,353評(píng)論 0 7
  • 多表查詢分為 內(nèi)、外連接 外連接分為左連接(left join 或left outer join)、右連接(rig...
    阿甘呀閱讀 922評(píng)論 0 0
  • 之前做過一個(gè)關(guān)于數(shù)據(jù)庫(kù)的使用總結(jié),里面寫過一些關(guān)于數(shù)據(jù)庫(kù)的常用方法的集合,但是我們?cè)趯?shí)例工作中,很可能涉及到一需要...
    JokerHerry閱讀 4,089評(píng)論 0 2
  • 當(dāng)我確定你永遠(yuǎn)不可能只屬于我 我不會(huì)選擇牽手 寧愿擁有永恒的友誼 也不愿貪戀一時(shí)的溫情
    明月千思閱讀 96評(píng)論 0 2
  • 今天是比較失落的一天,一早把我最重要的最心愛的手機(jī)丟了,覺得自己很沒用,這么重要的東西會(huì)讓它離開我,沒有手機(jī)半天時(shí)...
    FAB艷兒閱讀 126評(píng)論 0 0

友情鏈接更多精彩內(nèi)容