獲得乙個表在另乙個表中的數量

2021-08-10 19:45:55 字數 1129 閱讀 4200

比如說我有兩張表,一張表是學生表,一張表是班級表,班級表對學生表是一對多的關係。建表語句如下:

create table class

(id int identity(1,1) primary key,

year int,

name varchar(50));

create table student

(id int identity(1,1) primary key,

classid int foreign key(classid) references class(id),

name varchar(50));

其中class是班級表,student是學生表

插入資料如下:

insert into class(year,name)

values(2017,'三年一班'),

(2017,'三年二班'),

(2017,'三年三班'),

(2017,'三年四班')

insert into student(classid,name)

values(1,'趙一'),

(2,'錢二'),

(2,'孫三'),

(3,'李四'),

(3,'周五'),

(3,'吳六'),

(3,'鄭七'),

(2,'王九')

插入後的結果如圖:

然後需要獲得每個班級的人數,sql語句如下:

select a.*,(select count(1) from student b where b.classid = a.id) as count from class a
查詢結果為:

就獲得了每個班的人數

乙個表寫給另乙個表的情書

親愛的mrs tablemm 每次你微笑的看著我,都會引發使我心跳加速的觸發器,我發現自己已深深地愛上了你,無法逃避,因為我們在同乙個database裡。經過我長期的查詢分 析,對你表結構的了解也越來越清晰,你溫柔美麗,高雅賢淑,簡直就是我心目中的bcd。我多想join你,但找不到合適的id.if你...

mysql 查詢在乙個表而不在另乙個表中的資料

a b兩表,找出id欄位中,存在a表,但是不存在b表的資料。a表總共13w資料,去重後大約3w條資料,b表有2w條資料 方法一使用 not in 容易理解,效率低 執行時間為 1.395秒 select distinct a.id from a where a.id not in select id...

用乙個表去更新另乙個表

朋友今天問我乙個問題 有兩張資料表 bureau area code 和 county code,我想用town code擷取前6位去和county code擷取前6位查詢,查到對應的county name該咋寫?下面先是兩張表結構 1 create table bureau area code 2...