SQL查询语句学习笔记_sql查询语句精华学习
SQL查询语句学习笔记由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“sql查询语句精华学习”。
问题描述:
为管理岗位业务培训信息,建立3个表:
S(SID,SNAME,SDEPT,SEX,AGE)SID,SNAME,SDEPT,SEX,AGE 分别代表学号、学员姓名、所属部门、学员性别、学员年龄
C(CID,CNAME)CID,CNAME 分别代表课程编号、课程名称
SC(SID,CID,GRADE)SID,CID,GRADE 分别代表学号、所选修的课程编号、学习成绩
表结构与数据见Data4SqlTest1.sql
要求实现如下5个处理:
1.使用标准SQL嵌套语句查询选修课程名称为“英语”的学员学号和姓名
2.使用标准SQL Join语句查询选修课程名称为“英语”的学员学号和姓名
3.使用标准SQL语句查询不选修“数学”课程的学员姓名和所属单位
4.使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
5.查询选修了课程的学员人数
6.查询选修课程超过3门的学员学号和所属单位
1.使用标准SQL嵌套语句查询选修课程名称为“英语”的学员学号和姓名 Java代码
1.SELECT SNAME,SDEPT FROM S
2.WHERE SID IN(3.SELECT SID FROM C,SC
4.WHERE C.CID=SC.CID
5.AND CNAME='英语')
2.使用标准SQL Join语句查询选修课程名称为“英语”的学员学号和姓名 Java代码
1.SELECT SNAME,SDEPT FROM S
2.JOIN SC ON S.SID=SC.SID JOIN C ON C.CID=SC.CID
3.WHERE CNAME='英语'
3.使用标准SQL语句查询不选修“数学”课程的学员姓名和所属单位 Java代码
1.select SNAME,SDEPT
2.from S
3.where SID not in(4.select SC.SID
5.from SC
6.right join(select S.SID,C.CID from S join C)as T on SC.SID=T.SID
and SC.CID=T.CID join C on T.CID=C.CID
7.where C.CNAME='数学' and SC.SID is not null
8.)
或者是:
Java代码
1.SELECT SNAME,SDEPT FROM S
2.WHERE SID NOT IN(3.SELECT SID FROM SC
4.WHERE CID IN(SELECT CID FROM C WHERE CNAME='数学'))
4.使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位 Java代码
1.select SNAME,SDEPT
2.from S
3.where SID in
4.(select S.SID
5.from S
6.inner join SC on S.SID=SC.SID
7.group by S.SID
8.having count(CID)=(select count(1)from C)
9.)
5.查询选修了课程的学员人数
Java代码
1.SELECT 学员人数=COUNT(DISTINCT(SID))FROM SC
6.查询选修课程超过3门的学员学号和所属单位
Java代码
1.SELECT SNAME,SDEPT FROM S
2.WHERE SID IN(3.SELECT SID FROM SC
4.GROUP BY SID
5.HAVING COUNT(DISTINCT(CID))>3)