mysql常用语句——多表联合查询(一)

学习笔记:

学生选课数据库SCT

学生表(学号,姓名,性别,年龄,院系编号,班级)

Student(S# char(8),Sname char(10),Ssex char(2),Sage integer,D# char(2),Sclass char(6)

院系表(院系编号,院系名称,院长)

Dept(D# char(2),Dname char(10),Dean char(10))

课程表(课程编号,课程名称,课时,学分,授课老师编号)

Course(C# char(3),Cname char(12),Chours integer,Ccredit float(1),T# char(3))

教师表(老师编号,姓名,所属院系编号,工资)

Teacher(T# char(3),Tname char(10),D# char(2),Salary float(2))

选课表(学生学号,课程编号,成绩)

SC(S# char(8),C# char(3),Score float(1))

 

多表联合查询

1、按“001”号课程由高到低显示所有学生的姓名(二表链接)

select Sname from Student,SC where Student.S#=SC.S# and SC.C#=”001” order by Score desc;

2、“数据库”课成绩由高到低顺序显示所有同学姓名(三表链接)

select Sname from Student,Course,SC where Student.S#=SC.S# and SC.C#=Course.C# and Cname=”数据库” order by Score desc;

3、求有薪水差额的任意两位教师

select T1.Tname as Teacher1,T2.Tname as T2 from Teacher T1,Teacher T2 where T1.Salary>T2.Salary;

4、求既学过001”号课又学过“002”号课的所有学生的学号

select S1.S# from SC S1,SC S2 where S1.S#=S2.S# and S1.C#=”001”and S2.C#=”002”;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值