面试题,有三张表,学生表S,课程表C,学生课程表SC,学生可以选修多门课程,一门课程可能被多个学生选修,通过SC表关联。
(1)写出建表以及插入语句;
(2)写出SQL语句,查询选修了所有选修课程的学生;
(3)写出SQL语句,查询选修了至少2门课程的学生;

#(1)
create table S(s_id int primary key auto_increment,s_name varchar(20) not null
);create table C(c_id int primary key auto_increment,c_name varchar(20) not null
);create table SC(s_id int references S(s_id),c_id int references C(c_id)
);INSERT INTO S VALUES (1,'zhangsan'),(2,'lsii'),(3,'wangwu'),(4,'zhaoliu');
INSERT INTO C VALUES(1,'Java'),(2,'C++'),(3,'Chinese'),(4,'English');
INSERT INTO SC VALUES(1,1),(1,2),(1,3),(1,4),(2,1),(2,2),(2,3),(3,1),(3,2),(4,3),(4,4);#(2)
SELECT * FROM S
WHERE s_id IN(SELECT s_id FROM SCGROUP BY s_id HAVING COUNT(*)=(SELECT COUNT(*) FROM C)
);
#第二种写法
首先头脑中有三点概念:1. EXISTS 子查询找到的提交NOT EXISTS 子查询中 找不到的提交说明:不要去翻译为存在和不存在,把脑袋搞晕。
2. 建立程序循环的概念,这是一个动态的查询过程。如 FOR循环 。
3. Exists执行的流程Exists首先执行外层查询,再执行内存查询,与IN相反。流程为首先取出外层中的第一元组,再执行内层查询,将外层表的第一元组代入,若内层查询为真,即有结果时。返回外层表中的第一元 组,接着取出第二元组,执行相同的算法。一直到扫描完外层整表 。
select * from S
where NOT exists
(select  * from Cwhere NOT exists --不存在的提交给course(select * from SC wheres_id = S.s_id  and c_id = C.c_id)) --代入两个未知变量#(3)
select * from S
where s_id in (select s_id from SC group by s_id having count(*) >= 2
);

学生表S,课程表C,学生课程表SC相关推荐

  1. student(sid,sname,sage,ssex) 学生表course(cid,cname,tid) 课程表sc(sid,cid,score) 成绩表teacher(tid,Tnam

    student(sid,sname,sage,ssex) 学生表 course(cid,cname,tid) 课程表 sc(sid,cid,score) 成绩表 teacher(tid,Tname) ...

  2. 设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。...

    一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...

  3. mysql:设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)表(四)所示

    设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)表(四)所示,数据如表1-2的表( ...

  4. 设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)

    设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表 ...

  5. 学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)...

    学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher) 转载于:https://www.cnblogs.com/cycanfly/p/5538516.h ...

  6. 创建一个数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)

    创建一个数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的 ...

  7. MySQL 学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)

    设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表 ...

  8. #1.从学生表中查询所有学生的所有信息SELECT * FROM `student`#2.从学生表查询所有学生的学号姓名信息并分别赋予别名SELECT StudentNo AS ‘学号‘, St

    #1.从学生表中查询所有学生的所有信息 SELECT * FROM `student` #2.从学生表查询所有学生的学号姓名信息并分别赋予别名 SELECT StudentNo AS '学号', St ...

  9. mysql面试学生表_SQL笔试:Student学生表,Course 课程表,Sc选课表

    Student学生表(学号,姓名.性别.年龄.组织部门),Course 课程表(编号,课程名称),Sc选课表(学号,课程编号,成绩) 写一个SQL语句,查询选修了计算机原理的学生学号和姓名 selec ...

  10. mysql实验学生表_数据库实验(学生信息表)

    数据库实验(学生信息表) 实验一 创建数据库以及学生信息表.课程信息表.选课表 create Table student (Sno char(9) primary key, Sname char(20 ...

最新文章

  1. 史上最完整的Maven 教程
  2. 每日一皮:看图猜一个数据库连接池!
  3. Macbook 无法找到Centos启动盘问题解决
  4. linux过滤输出内容,Linux内容整理--过滤器、输入输出及管道
  5. OpenWrt——配置L2TP客户端
  6. 微服务为什么选Spring Cloud
  7. 关于高效企业测试的思考(1/6)
  8. CSDN光合计划-纯干货福利-推荐几个算法、分布式、数据库全系列学习教程(企业实用技术类)
  9. Flutter高级第6篇:事件广播 、事件监听
  10. 计算机拨珠游戏,拨算盘与算盘游戏 | 褚半农
  11. 怎么用C语言求解线性规划,线性规划习题详细解析,包括线性规划方程求解步骤...
  12. 计算机制图作品答辩,工程制图(第一章)答辩.ppt
  13. java表格标题栏_java使用poi自定义excel标题头并导出(springmvc+poi)
  14. android blowfish加密算法,blowfish 现在哪种加密算法安全?A
  15. 设定session.timeout=30后,可是不到5分钟session变量就消失了.为什么?
  16. mysql ndb集群_MySQL集群 NDB 7.5介绍
  17. 寺库不再值得认可:违法案例频现,“便宜货”让罗敏和趣店亏惨
  18. 在线正则表达式解析器和可视化工具
  19. hexo博客中插入图片失败——解决思路及个人最终解决办法
  20. 一文弄懂printf函数从用户态到内核态的执行流程

热门文章

  1. linux-软件包管理及RPM包管理(rmp命令管理)
  2. 【无标题】后来,我认为王阳明比尼采,叔本华都高明
  3. 狂神说 redis 笔记
  4. 数据中台总领数字化转型?明略科技提出不一样的方法论
  5. 什么叫给密码“加盐”?如何安全的为你的用户密码“加盐”?
  6. NDK学习笔记:RtmpPusher之利用rtmpdump推h264/aac码流
  7. 乐心健康在线刷步数提交源码
  8. 虚拟机重启后再次重启nginx: [error] open() “/var/run/nginx/nginx.pid“ failed (2: No such file or directory)
  9. 亲民地理-第48期-西雅图波音飞机总装工厂_我是亲民_新浪博客
  10. linux主机宕机排查问题的方法