sql多表查詢 學生課程表查詢

2022-07-20 15:39:15 字數 1647 閱讀 8237

學生表:(序號,姓名,年齡,專業)

create table s(

sno int(11) auto_increment,

sname varchar(125),

sage int(11),

sdept varchar(125),

primary key(sno)

);

課程表:(序號,課程名)

create table c(

cno int(11) auto_increment,

cname varchar(255),

primary key(cno)

);

學生課程關係表:(序號,學生序號,課程序號,分數)

create table sc(

scno int(11) auto_increment,

sno int(11),

cno int(11),

grade int(255),

primary key(scno)

);

乙個引數是查詢條數

兩個引數n,m是(1.從第n+1行開始2.查詢m條數)

不重複查詢

select distinct sdept from s
萬用字元查詢

select  sname from s where sname like "小%"

1.查詢修讀「軟體工程」的學生姓名(使用in巢狀子查詢)

select sname from s where sno in

(select sno from sc where cno in (

select cno from c where cname="軟體工程"

))

2.查詢至少修讀「軟體工程」與「c語言」的學生姓名(在1中使用or)

select sname from s where sno in 

(select sno from sc where cno in

(select cno from c where cname="軟體工程" or cname="c語言"))

3.查詢不修「軟體工程」的學生姓名(在2中使用not)

select sname from s where sno in 

(select sno from sc where cno not in

(select cno from c where cname="軟體工程" ))

SQL 多表查詢

不同的 sql join inner join 內連線 如果表中至少有乙個匹配,也從左表返回所有的行 left join 左連線 即使右表中沒有匹配,也從右表返回所有的行 right join 右連線 即使左表中沒有匹配,也從右表返回所有的行 full join 全連線 只有其中乙個表中存在匹配也從...

SQL 多表查詢

join操作符 1.笛卡爾積,rxs 可直接轉換為sql語句 2.等值連線,記作 可直接轉換為sql語句 3.自然連線,記作 可轉換為sql語句 4.左外連線和右外連線的表示方法及轉換為sql 注意若多個關係有同名屬性,則用 關係名.屬性名 指出重名屬性 連線也可以與投影,選擇等結合使用。1.查詢選...

SQL 查詢(二 多表查詢)

使用外來鍵作為橋梁連線連個表進行查詢。笛卡爾積select e.fname,e.lname,d.name from employee e join department d 在from子句中包含了兩個表,並使用join關鍵字隔開。當查詢中沒有指定兩個表如何連線時會產生笛卡爾積,即兩張表的所有置換 1...