文档详情

数据库原理及应用案例教程.ppt

发布:2025-05-04约4.35千字共128页下载文档
文本预览下载声明

关系数据库语言SQL;SQL概述;SQL概述;SQL概述;SQL概述;SQL概述;SQL概述;SQL概述;SQL概述;SQL概述;SQL概述;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据定义;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;数据查询;例:查询每个学生的根本信息以及他/她选课的情况

SELECTStudents.*,Enrollment.*

FROMStudents,Enrollment

WHEREStudents.Sno=Enrollment.Sno;上述结果表如果要去掉重复列,就要用SELECT子句指定结果表中包含的列名,这样就成为自然连接。如下:

SELECTStudents.Sno,Sname,Ssex,Sage,

Sdept,Cno,Grade

FROMStudents,Enrollment

WHEREStudents.Sno=Enrollment.Sno;例:查询每个学生的学号、姓名、选修的课程名、成绩。

SELECTStudents.Sno,Sname,Cname,Grade

FROMStudents,Courses,Enrollment

WHEREStudents.Sno=Enrollment.Sno

ANDCourses.Cno=Enrollment.Cno

;例:查询选修了C2且成绩大于90分的学生的学号、姓名、成绩。

SELECTStudents.Sno,Sname,Grade

FROMStudents,Enrollment

WHEREStudents.Sno=Enrollment.SnoANDCno=C2ANDGrade90

注意:这里用AND将一个连接条件和两个行选择条件组合成为查询条件;例:求计算机系选修课程大于等于2门课的学生的学号、姓名、平均成绩,并按平均成绩从高到低排序。

SELECTStudents.Sno,Sname,AVG(Grade)Average

FROMStudents,Enrollment

WHEREStudents.Sno=Enrollment.Sno

ANDSdept=Computer

GROUPBYStudents.Sno,Sname

HAVINGCOUNT(*)=2

ORDERBYSUM(Grade)DESC;数据查询;例:查询与Sue在同一个系学习的??有学生的学号和姓名。

SELECTS2.Sno,S2.Sname

FROMStudentsS1,StudentsS2

WHERES1.Sdept=S2.SdeptANDS1.Sname=Sue

说明:当给表指定了别名后,在查询语句的其他所有用到

表名的地方都要使用别名,

而不能再使用源表名。

并且输出的列一定要加上表的别名

来限定是哪个逻辑表中的列;数据查询;例:查询所有学生的选修情况,要求包括选修了课程的学生和没有修课的学生,显示他们的学号、姓名、课程号、成绩。

SELECTStudents.Sno,Sname,Cno,Grade

FROMStudents,Enrollment

WHEREStudents.Sno*=Enrollment.Sno;数据查询;数据查询;数据查询;数据查询;例:查询其他系中比计算机系任一学生年龄都小的学生根本情况。

SELECT*FROMStudents

WHERESdept!=ComputerANDSageALL(SELECTSageFROMStudentsWHERESdept=Computer);例:查询其他系中比计算机系某一学生年龄小的学生的根本情况。

SELECT*FROMStudents

WHERESdept!=ComputerANDSageANY(SELE

显示全部
相似文档