《数据库原理与应用》实验指导书修改版(1) - 图文(5)
《数据库原理与应用》实验指导
CNO CHAR(8) NOT NULL, GRADE FLOAT,
CHECK (GRADE BETWEEN 0 AND 100),
PRIMARY KEY (SNO,CNO),
FOREIGN KEY(SNO)REFERENCES student, FOREIGN KEY(CNO)REFERENCES course) GO
单击快捷工具栏的执行图标“
”执行上述语句,四张表便创建完成。
14
《数据库原理与应用》实验指导
实验五 连接查询和嵌套查询
连接查询 ①内连接:从两张表中提取满足连接条件的数据
语法:FROM 表1 [INNER] JOIN 表2 ON <条件表达式>
1.找出学生的姓名、出生年份、所在班级名称: SELECT Stu_name,year(birthday),Class_name
FROM Student INNER JOIN Class On Student.Class_id=Class.Class id 等价于:
SELECT Stu.sex,year(birthday),Class_name FROM Student.Class
WHERE Student.Class_id=Class.Class.id
2.找出各班级所属系的名称和电话 SELECT Class name,Depar_name,Phone
FROM Class INNER JOIN Deparment On Class.Depar_id=Deparment.Depar_id 等价于:
SELECT Class_name,Depar name,Phone FROM Class,Deparment
WHERE Class.Depar_id=Deparment.Depar_id
3.找出与“汤俊逸”老师在同一年出生的男学生的姓名、电话: SELECT Stu_name,Phone
FROM Student INNER JOIN Teacher On year(Student.Birthday)=year(Teacher.Birthday) WHERE Teacher.Teac_name='汤俊逸?AND Student.Stu_sex='男'
4.找出住在“广州市昌岗中路”的现管99的学生:
SELECT studen.*
FROM Student INNER JOIN Class On Student.Class_id=Class.Class_id WHERE Class.Class_name='现管99' AND address='广州市昌岗中路'
自连接:
5.找出同年同月同日出生的学生的姓名、出生年月 SELECT a.stu_name,b.stu_name,a.binhday
FROM student as a INNER JOIN student as b
ON a.birthday=b.birthday AND a.stu_id<>b.stu_id
6.找出“0203”班级中具有相同生日的学生的姓名、出生年月 SELECT a.stu_name,b.stu_name,a.birthday
FROM student as a INNER JOIN student as b ON month(a.birthday)=month(b.birthday) AND day(a.birthday)=day(b.birthday) AND a.stu_id<>b.stu_id
WHERE a.class_id='0203?AND b.Class_id='0203'
15
《数据库原理与应用》实验指导
②外连接:
FROM 表l LEFT | RIGHT | FULL[OUTER] JOIN 表2 ON<条件表达式> 特点:
除了返回内部连接的记录外。还显示主表中不符合连接条件的记录。
7.列出班级编号为“0102”的学生的学号、姓名、及奖惩情况: SELECT Student.Stu_id,Stu_name,award,punish
FROM Student LEFT JOIN Studeat_info On Student.Stu_id=Student_info.Stu_id WHERE Class_id='0102' 或者:
SELECT student.Stu_id,Stu_name,award,punish
FROM Student info RIGHT JOIN Student On Student.Stu_id=Student_info.Stu id WHERE Class id='0102' ③交叉连接:结果集中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。
语法:FROM 表l CROSS JOIN 表2 (注意:此处不能指定ON连接条件)
子查询 (嵌套查询)
注意:
①作为子查询的SELECT语句必须放在括号之内.
②子查询不能包含ORDER BY字句,但当子查询中使用TOP选项时,可以使用ORDER BY字句。
三种形式的子查询: (1)、由[NOT] IN 引出子查询
(2)、由[NOT] EXISTS引出子查询 (3)、由比较运算符引出子查询
(注意:在比较子查询中,如果没有使用,ALL或ANY修饰,则必须保证子查询所返回的结果集合中只有单行数据。否则将引起查询错误,如果比较操作与ALL或ANY修饰一起使用。这时则允许子查询返回多个数据行。)
比较运算符 >、>=、!< = <> <、<=、!>
16
修饰符 ALL ANY ANY ANY ALL ANY 取值 最大值 最小值 取所有值 取所有值 最小值 最大值 《数据库原理与应用》实验指导
1.找出现管98所有学生的姓名、电话、地址: SELECT stu_name,phone,address
FROM student WHERE class_id IN (SELECT Class_id
FROM Class
WHERE Class_name='现管98')
当子查询返回一条记录时,“in”可以用“=”代替:
SELECT stu_name,phone,address FROM student WHERE class_id= (SELECT Class_id
FROM Class
WHERE Class_name='现管98')
或者:
SELECT stu_name,phone,address
FROM student WHERE EXISTS (SELECT *
FROM Class
WHERE Class_name='现管98' AND Class.Class_id=Student Class_id)
2、找出现管98所有任课老师的编号: SELECT Teac_id FROM CourseTeacher WHERE Class_id IN
(SELECT Class_id FROM Class
WHERE Class_name='现管98')
3、找出所有任教“c语言”老师的编号。 SELECT DISTINCT Teac_id FROM CoursgTeacher WHERE Course_id IN
(SELECT Course_id
17
《数据库原理与应用》实验指导
FROM course
WHERE Course_name='c语言')
4、找出计算机系所有文学生的姓名、屯话: SELECT stu_name,phone FROM student
WHERE Stu_seX='女' AND class_id in (SELECT Class_id FROM Class WHERE Depar_id IN (SELECT Depar_id
FROM Deparment
WHERE Depar_name='计算机系')
5、找出“钟开滨”老师所教的班级的名称: SELECT Class_name FROM Class
WHERE Class_id IN
(SELECT Class_id FROM CourseTeacher WHERE Teac_id IN (SELECT Teac_id
FROM Teacher
WHERE Teac_name='钟开滨'))
或者不采用子查询: SELECT Class_name
FROM Class,ComseTeacher,Teacher
WHERE Class.Class_id=CourseTeacher.Class_id AND CourseTeacher.Teac_id=Teacher.Teac_id AND Teac_name='钟开滨'
6.找出现管98的c语言的老师的姓名: SELECT Teac_name FROM teacher WHERE Teac_id IN (SELECT Teac_id
18
…… 此处隐藏:1885字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




