1数据库技术与应用北京邮电大学计算机学院肖达xiaoda99@gmail.com2DatabaseTechnologyandItsApplication数据查询单表查询集合查询连接查询嵌套查询Select语句的一般形式3DatabaseTechnologyandItsApplication集合查询集合操作的种类并操作UNION交操作INTERSECT差操作EXCEPT参加集合操作的各查询结果的列数必须相同;对应项的数据类型也必须相同4DatabaseTechnologyandItsApplication集合查询(续)方法一:SELECT*FROMStudentWHERESdept='CS'UNIONSELECT*FROMStudentWHERESage<=19;方法二:SELECTDISTINCT*FROMStudentWHERESdept='CS'ORSage<=19;[例]查询计算机科学系的学生及年龄不大于19岁的学生。UNION:将多个查询结果合并起来时,系统自动去掉重复元组。UNIONALL:将多个查询结果合并起来时,保留重复元组5DatabaseTechnologyandItsApplication集合查询(续)SELECTSnoFROMSCWHERECno='1'UNIONSELECTSnoFROMSCWHERECno='2';[例]查询选修了课程1或者选修了课程2的学生。6DatabaseTechnologyandItsApplication集合查询(续)SELECT*FROMStudentWHERESdept='CS'INTERSECTSELECT*FROMStudentWHERESage<=19实际上就是查询计算机科学系中年龄不大于19岁的学生SELECT*FROMStudentWHERESdept='CS'ANDSage<=19;[例]查询计算机科学系的学生与年龄不大于19岁的学生的交集7DatabaseTechnologyandItsApplication集合查询(续)SELECTSnoFROMSCWHERECno='1'INTERSECTSELECTSnoFROMSCWHERECno='2';实际上是查询既选修了课程1又选修了课程2的学生SELECTSnoFROMSCWHERECno='1'ANDSnoIN(SELECTSnoFROMSCWHERECno='2');[例]查询选修课程1的学生集合与选修课程2的学生集合的交集8DatabaseTechnologyandItsApplication集合查询(续)SELECT*FROMStudentWHERESdept='CS'EXCEPTSELECT*FROMStudentWHERESage<=19;或者SELECT*FROMStudentWHERESdept='CS'ANDSage>19;[例]查询计算机科学系的年龄大于19岁的学生。9DatabaseTechnologyandItsApplication数据查询单表查询集合查询连接查询嵌套查询Select语句的一般形式10DatabaseTechnologyandItsApplication连接查询连接查询:同时涉及多个表的查询连接条件或连接谓词:用来连接两个表的条件一般格式:[<表名1>.]<列名1><比较运算符>[<表名2>.]<列名2>[<表名1>.]<列名1>BETWEEN[<表名2>.]<列名2>AND[<表名2>.]<列名3>连接字段:连接谓词中的列名称连接条件中的各连接...