首页 > 数据库 >sql--每天两道sql题,天天健康好身体_第四天

sql--每天两道sql题,天天健康好身体_第四天

时间:2023-05-18 21:56:43浏览次数:31  
标签:-- sid 查询 002 001 sql 第四天 table select

每天会在网上找两三道sql题练习练习,提高自己的sql语句的使用能力(先自己思考出答案,再和别人的答案做一下对比,然后深入思考一下)

以下是四个表信息:

 

问题1:查询同时选修了001和002课程的同学的学号

答案1:select sid from grade_table where cid=002 and sid in (select sid from grade_table where cid=001)

思考:先通过子查询从成绩表中筛选出 选修了001 课程的学生(子查询出来的学生,要么是选了001也选了002 ,要么是选了001但没有选002), 然后外面再做一层查询,查询成绩表中既选修了002课程,又sid 是包含在 第一个子查询的结果中的。这样查出来的就是既选了001又选了002的学生。

 

问题2:查询没有学全所有课程的学生的学号和姓名

答案2: select s.sid s.sname from student_info_table  s  where s.sid in (select g.sid from grade_table  g  group by g.sid  having  count(g.cid) < (select count(cid)  from class_info_table )  )

思考:别人的答案,select s.sid, s.name from student_info_table  s, grade_table g  where s.sid=g.sid  group by  s.sid, s.name  having  count(g.cid) < (select count(cid)  from class_info_table)    此答案用例一个连表查询和一个子查询。 而我的答案是用了两个子查询。可以想想哪个更好呢?

还有,这个答案为什么group by 的时候要 s.sid 和s.name, 感觉只group by  s.sid 就可以了呀。因为sid是唯一的呀。

标签:--,sid,查询,002,001,sql,第四天,table,select
From: https://www.cnblogs.com/ccnn9/p/17411551.html

相关文章

  • Spring Boot整合Jwt
    JWT介绍JWT是JSONWebToken的缩写,即JSONWeb令牌,是一种自包含令牌。是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源。比如用在用户登录上。JWT最......
  • drf——序列化之source(了解)、定制字段的两种方式(重要)、多表关联反序列化保存、反
    1序列化高级用法之source(了解)#1.创建了5个表(图书管理的5个)#2.对book进行序列化#总结:source的用法 1.修改前端看到的字段key值--->source指定的必须是对象的属性 book_name=serialiazers.CharField(source='name')2.修改前端看到的value值--->source指......
  • 2023/5/18
    %%loam_livox建图++3D_detect实现 1.loam_livox+3Ddetect的实现流程:2.编译安装loam_livox:本机环境:ubuntu18.04.06lts ROSmelodic      python3.6python2.7     gcc/g++gcc(Ubuntu9.4.0-1ubuntu1~18.04)9.4.0     依赖库:Eigen3(3.3.7......
  • 展会回顾 | 2023元宇宙生态博览会圆满落幕,3DCAT荣获“元宇宙交互技术奖”
    2023年5月10日-5月12日,一场涵盖了元宇宙终端头显、数字文娱、数字艺术、数字运动、数字多媒体展陈设计、数字展厅展馆、科技文旅、夜游演艺、沉浸式KTV/酒吧等多个领域的元宇宙商业盛会——2023第2届世界元宇宙生态博览会在广州广交会展馆A区3.2馆、4.2馆掀开帷幕。本届博览会展览......
  • GDI-GetBitmapBits获取兼容位图的数据
    设备独立位图和兼容位图:设备独立位图(Device-IndependentBitmap,简称DIB)和兼容位图(CompatibleBitmap,简称DDB)是两种不同的位图类型。DIB是一种独立于设备的位图格式,它的像素格式与设备无关,可以在不同分辨率和颜色深度的设备上显示。DIB可以通过使用位图信息头和像素数组来存储图......
  • 5.18每日总结
    今日进行了python的学习。对于昨天的测试代码进行了分析学习。R7-1字典合并d1=eval(input())d2=eval(input())forkeyind2.keys():d1[key]=d1.get(key,0)+d2[key]t=list(d1.items())t.sort(key=lambdax:ord(x[0])iftype(x[0])==strelsex[0])......
  • 完数
    一、问题描述求某一范围内完数的个数。如果一个数等于它的因子之和,则称该数为“完数”(或“完全数”)。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。二、问题分析根据完数的定义,解决本题的关键是计算出所选取的整数i(i的取值范围不固定)的因子(因子就是所有可以整除这个数的数......
  • 补充流程控制及基本数据类型的内置方法
    流程控制while+continue例:#请听题:循环打印出0-10之间的数字#请听题:循环打印出0-9之间的数字,但是不打印6count=0whilecount<4:ifcount==2:count+=1continue#是调出本次循环print(count)count+=1运行结果: while+else......
  • 数组
    数组数组的定义数组是相同型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。数组的声明和创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组的语......
  • C/C++银行自助存取款机模拟程序[2023-05-18]
    C/C++银行自助存取款机模拟程序[2023-05-18]设计一个银行自助存取款机模拟程序,银行自助存取款机的用户包括银行管理员和客户,程序可实现这两类用户的基本操作需求。银行管理员:凭身份密码登录后可查看银行自助存取款机的余额、查询给定时间段内所有的交易信息(卡号、交易类型、交......