数据库查询_同时选修了两门课的学生姓名、学号
MySql数据库查询同时选修了两门课的学生姓名、学号
这个查询要用到含有学生姓名、学号的表和含有学生选课情况的表,我定义的含有学生姓名sname和学号sno的表是student表(sno学号,sname姓名,sdept专业,sage年龄,ssex性别)含有学生选课情况的表是sc表(sno学号,cno选修课程号,grade成绩),。
假设查询选修课程为2和3的学生姓名和学号,方法如下:
集合查询
where语句下的and不能用于连接两个相同属性的查询,如该题不能写为where cno=‘002’ and cno=‘003’ 。所以首先要从sc表查询选修课程为2号(或者3号)的学生学号,然后用and连接查询课程号为2号(或3号)的课程:
WHERE sc.sno IN( SELECT sno FROM sc WHERE cno='002'AND sno IN // ---+( SELECT sno FROM sc // |查询选课课号为3的学生学号WHERE cno='003' // ---+))
以上为在sc表中查询出选修课程为2号和3号的学生学号,然后,我们要将查询出来的学号集合和student表结合,在student表中找出和以上查询出的学生学号相同的学生,最后输出其学号和姓名。
因此,总的查询语句为:
SELECT student.sno,sname FROM student,sc WHERE sc.sno IN( SELECT sno FROM sc WHERE cno='002'AND sno IN // ---+( SELECT sno FROM sc// |查询选课课号为3的学生学号WHERE cno='003' // ---+))AND student.sno=sc.snogroup by student.sno;
因为两个表中都有学号sno属性,所以要表明所要查询的学号出自哪个表,最后按学号分组,以免重复出现同一名学生的信息。
输出结果如图所示:
+-------+-------+
| sno | sname |
+-------+-------+
| 08001 | 张力 |
| 08002 | 李丽 |
| 08003 | 赵海 |
+-------+-------+
3 rows in set
数据库查询_同时选修了两门课的学生姓名、学号相关推荐
- mysql中查询没有选修某两门课的_50条SQL查询技巧、查询语句示例
Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题 ...
- mysql字连接查询实现至少选修C1和C2两门课的学生和一个都没有被选中的课程
至少选修C1和C2两门课的学生 一个都没有被选中的课程 至少被一个同学选中的课程 select cno,cname from C where exists(select * from sc where ...
- mysql中查询没有选修某两门课的_SQL查询语法30例
学好SQL查询:无他,概手熟耳. 1. 基础表: 学生表: 老师表: 课程表: 成绩表: 2. 题目: 1.查询名字中含有"华"字的学生信息 select * from 学生 wh ...
- 10-59 查询选修某两门课程的学生
分数 10 全屏浏览题目 切换布局 作者 张庆 单位 集美大学 本题目要求编写SQL语句, 检索出 sc表中至少选修了'C001'与'C002'课程的学生学号. 提示:MySQL不允许使用inters ...
- mysql 查询 至少选择了两门课,【练习3】mysql高级查询
一.数据准备 1.进入mysql mysql -uroot -proot 2.查看所有数据库 show databases; 3.新建数据库,并设置其编码格式 create database twoc ...
- 查询至少选修课程号为'c2'和'c4' 两门课程的学生学号
选课表sc = {学号sco,课程号cno...} --查询至少选修课程号为"c2"和"c4"两门课程的学生的学号 select sca.sno from sc ...
- 查询仅仅选修了指定的两门课程的学生学号
select studid from transcript where studid in ( --选了这两门课的学生学号 select studid from transcript where cr ...
- 数据库的多表查询操作-查询只选修了1门课程的学生,显示学号、姓名、课程名。
文章目录 前言 一.建立数据库和表 二.数据库展示 2.查询只选修了1门课程的学生,显示学号.姓名.课程名. 总结 前言 在我看来数据库真的是一个神奇的东西,不但里面的只是点很深刻,而且对于我们学习起 ...
- 10-4 查找至少选修两门课程的学生学号
查找至少选修两门课程的学生学号 提示:请使用SELECT语句作答. 表结构: 请在这里写定义表结构的SQL语句.例如: CREATE TABLE STUDENT ( SNO CHAR(5) PRIMA ...
最新文章
- opencv3.2.0 Cmake 3.8.0 + tdm-gcc-5.1.0-3 编译问题 highgui _Win32_IE
- 编程的精髓:发现问题,解决问题
- LightOJ - 1243 Guardian Knights(最小费用最大流+bfs)
- android 视网膜黄斑检查 amsler,自测黄斑病变 | 一张图搞定
- treelistview 所有节点失去焦点_球天下-儿皇梦只是一厢情愿 皇马已失去对博格巴的兴趣...
- 【OpenCV学习笔记】【函数学习】十九(感兴趣区域)
- Fire! (双bfs+预处理)
- Linux系统安装sentaurus,Synopsys Sentaurus_vA_2008.09-SP1安装详解.pdf
- 插值(五)Bicubic interpolation(双三次插值)
- Elasticsearch顶尖高手系列:高手进阶篇(二)
- 《大数据时代:生活、工作与思维的大变革》:看“大数据时代预言家”的真知灼见
- 新兴网站神秘虎嗅,获得数百万元投资
- tableau高级绘图(六)--tableau绘制范围点图
- 解决google打开界面就是hao123的问题
- 安全测试简述/安全审计工具
- 缓冲、运放、跟随电路详解及区分
- ContextSwitchDeadlock 以及 DisconnectedContext
- Flink规则引擎实践分享
- Spring Boot配置Quartz定时任务
- 中小学计算机网络教师考试报名时间,中小学教师资格考试网报名流程