【MySQL】——Select查询语句(其二)

🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

🐳Java基础:Java基础_IT闫的博客-CSDN博客

🐋c语言:c语言_IT闫的博客-CSDN博客

🐟MySQL:数据结构_IT闫的博客-CSDN博客

🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

💎C++:C++_IT闫的博客-CSDN博客

🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

🥏python:python_IT闫的博客-CSDN博客

欢迎收看,希望对大家有用!

目录

🎯问题及答案:


🎯问题及答案:

  1. 查询"01"课程比"02"课程成绩高的学生的信息及课程分数

方法1

select s.sid,s.sname,s.sbirth,s.ssex,sc1.score,sc2.score from student s,sc sc1,sc sc2 where sc1.cid='01' and sc2.cid='02' and sc1.score>sc2.score and sc1.sid=sc2.sid and s.sid=sc1.sid;

方法2

SELECT  s.sid,s.sname,s.sbirth,s.ssex,a.score,b.score

FROM(SELECT * FROM sc WHERE cid='01')a,

(SELECT * FROM sc WHERE cid='02')b ,student s WHERE a.sid=b.sid AND s.sid=a.sid

AND a.score>b.score;

2、查询所有的男生姓名

SELECT * FROM student WHERE ssex='男'

3.查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩

select s.sid,s.sname,avg(sc.score) from student s,sc group by s.sid having avg(sc.score)>=60;

4、查询名字中含有"风"字的学生信息

select * from student where sname like ‘%风%’;

5、查询课程名称为"数学",且分数低于60的学生姓名和分数

SELECT s.sname,score FROM student s,sc,course

WHERE s.sid=sc.sid AND sc.cid=course.cid AND cname='数学' AND score<60;

6、查询所有学生的课程及分数情况;

SELECT sname,cname,score FROM student,sc,course WHERE  student.sid=sc.sid AND sc.cid=course.cid;

 7.查询没学过"张三"老师授课的同学的信息

SELECT s.* FROM student s WHERE s.sid NOT IN

(SELECT sc1.sid FROM sc sc1,course c,teacher t

WHERE t.tid=c.tid AND sc1.cid=c.cid AND t.tname='张三');

8.查询学过"张三"老师授课的同学的信息

SELECT s.* FROM student s ,sc sc1,course c,teacher t

WHERE s.sid=sc1.sid AND sc1.cid=c.cid AND c.tid=t.tid AND t.tname='张三';

9、查询学过编号为"01"并且也学过编号为"02"的课程的同学的信息

SELECT s.* FROM student s,sc sc1,sc sc2 WHERE s.sid=sc1.sid AND sc1.sid=sc2.sid AND sc1.cid='01' AND sc2.cid='02';

10、查询学过编号为"01"但是没有学过编号为"02"的课程的同学的信息

SELECT  s.* ,sc.* FROM student s,sc

WHERE s.sid=sc.sid AND cid='01' AND s.sid NOT IN (SELECT sid FROM sc WHERE cid='02')

11、查询没有学全所有课程的同学的信息

思路:查询学生存在他没选的课

SELECT sname

FROM student

WHERE EXISTS

   ( SELECT *

     FROM course

     WHERE  NOT  EXISTS 

        ( SELECT *

          FROM sc

          WHERE sc.cid=course.cid

                AND student.sid=sc.sid       

         )

)

12、查询至少有一门课与学号为"01"的同学所学课程相同的同学的信息

SELECT sname

FROM student

WHERE EXISTS

   ( SELECT *

     FROM sc sc1

     WHERE sc1.sid='01' AND  EXISTS 

        ( SELECT *

          FROM sc sc2

          WHERE sc1.cid=sc2.cid

                AND student.sid=sc2.sid       

         )

)

13、查询和"01"号的同学学习的课程完全相同的其他同学的信息

SELECT student.sid,sname

FROM student

WHERE NOT EXISTS

   ( SELECT *

     FROM sc sc1

     WHERE sc1.sid='01' AND NOT EXISTS 

        (  SELECT *

          FROM sc sc2

          WHERE sc1.cid=sc2.cid

                AND student.sid=sc2.sid       

         )

)

14、查询没学过"张三"老师讲授的任一门课程的学生姓名

SELECT s.* FROM student s WHERE s.sid NOT IN(SELECT sc1.sid FROM sc sc1,course c,teacher t WHERE sc1.cid=c.cid AND c.tid=t.tid AND t.tname='张三');

 15.查询出只选修两门课程的全部学生的学号和姓名

SELECT s.* FROM student s,sc WHERE s.sid=sc.sid

GROUP BY sc.sid HAVING COUNT(sc.sid)=2

16、查询1990年出生的学生名单(注:Student表中sbirth列的类型是datetime)

SELECT * FROM student

WHERE sbirth  BETWEEN  '1990-01-01' AND  '1990-12-31';

SELECT s.* FROM student s WHERE sbirth LIKE '1990-%'(方法2)

17、查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列

select sc.cid,avg(score) from sc group by sc.cid order by avg(score) DESC , sc.cid;

18、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;

select s.sname,c.cname,score from student s,sc,course c where s.sid=sc.sid and sc.cid=c.cid and score>70;

19、查询平均成绩大于等于85的所有学生的学号、姓名和平均成绩

select s.sname,avg(score) from sc,student s where s.sid=sc.sid group by sc.sid having avg(score)>=85;

20、查询有不及格课程的学生姓名与课程名称

select s.sname,c.cname,score from student s,sc,course c where s.sid=sc.sid and sc.cid=c.cid and score<60;

21、查询课程编号为01且课程成绩在80分以上的学生的学号和姓名;

SELECT s.sid,s.sname FROM student s,sc WHERE sc.sid=s.sid AND sc.cid=1 AND score>=80;

22、求每门课程的学生人数

select cid,count(sid) from sc group by sc.cid;

23、统计每门课程的学生选修人数(超过5人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列

select cid,count(sid) from sc group by cid having count(sid)>5 order by count(sid),cid ASC;

24、查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩

SELECT DISTINCT s1.sid,s2.sid,sc1.cid,sc1.score,sc2.score FROM student s1,student s2,sc sc1,sc sc2 WHERE s1.sid!=s2.sid AND s1.sid=sc1.sid AND s2.sid=sc2.sid AND sc1.cid!=sc2.cid AND sc1.score=sc2.score;

25、检索至少选修两门课程的学生学号

select sid from sc group by sid having count(cid)>=2;

26、查询选修了全部课程的学生信息

SELECT *

FROM student

WHERE NOT EXISTS(

   SELECT * FROM course

   WHERE NOT EXISTS (

      SELECT * FROM sc

      WHERE sc.`cid`=course.`cid` AND student.`sid`=sc.`sid`  

  

   )

)

 27.查询各学生的年龄

SELECT s.sname,YEAR(CURDATE())-YEAR(s.sbirth) AS age FROM student s;

28、查询本月过生日的学生

SELECT s.sname,sbirth FROM student s WHERE MONTH(s.sbirth)=MONTH(CURDATE());

29、查询下月过生日的学生

SELECT s.sname,sbirth FROM student s WHERE MONTH(s.sbirth)=MONTH(CURDATE())+1;

 30.查询学全所有课程的同学的信息

SELECT *

FROM student

WHERE NOT EXISTS(

   SELECT * FROM course

   WHERE NOT EXISTS (

      SELECT * FROM sc

      WHERE sc.`cid`=course.`cid` AND student.`sid`=sc.`sid`  

  

   )

)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/142819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6.jvm中对象创建流程与内存分配

目录 概述对象的创建流程对象的内存分配方式对象怎样才会进入老年代大对象直接进入老年代内存担保 jvc 相关指令查看jdk默认使用的gc查看当前jdk支持的有哪些gc查看指定进程当前正在使用的gc 结束 概述 相关文章在此总结如下&#xff1a; 文章地址jvm基本知识地址jvm类加载系…

Unity 控制组件显示在同级最前端或者最后端

有时候我们在做一些类似轮播的效果时&#xff0c;就通常会用到切换某张图片显示在最后端或者最前端。 如我写一个这样的脚本&#xff1a; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;public class ChangePic : M…

国际阿里云:提高CDN缓存命中率教程!!!

CDN缓存命中率低会导致源站压力大&#xff0c;静态资源访问效率低。您可以根据导致CDN缓存命中率低的具体原因&#xff0c;选择对应的优化策略来提高CDN的缓存命中率。 背景信息 CDN通过将静态资源缓存在CDN节点上实现资源访问加速。当客户端访问某资源时&#xff0c;如果CDN节…

算不上最全,但都是必备——Spring这些不会不行啊

Spring 篇 Spring框架中的单例bean是线程安全的吗&#xff1f; 不是线程安全的 Spring bean并没有可变的状态(比如Service类和DAO类)&#xff0c;所以在某种程度上说Spring的单例bean是线程安全的。 Spring框架中有一个Scope注解&#xff0c;默认的值就是singleton&#xff0…

数据结构与算法之排序: Leetcode 922. 按奇偶排序数组 II (Typescript版)

按奇偶排序数组 II https://leetcode.cn/problems/sort-array-by-parity-ii/ 描述 给定一个非负整数数组 nums&#xff0c; nums 中一半整数是 奇数 &#xff0c;一半整数是 偶数 。 对数组进行排序&#xff0c;以便当 nums[i] 为奇数时&#xff0c;i 也是 奇数 &#xff1b…

Windows如何正确设置PHP环境变量以在Git Bash中运行命令

1、随便找一个目录&#xff0c;鼠标右键打开git bash here 2、cd的根目录 3、找到php安装目录 4、 在根目录下打开 vim .bash_profile &#xff0c;添加环境变量&#xff0c;php地址根据自己的本地地址而定 PATH$PATH:/d/phpstudy_pro/Extensions/php/php7.3.4nts 添加后保存…

基于Rabbitmq和Redis的延迟消息实现

1 基于Rabbitmq延迟消息实现 支付时间设置为30&#xff0c;未支付的消息会积压在mq中&#xff0c;给mq带来巨大压力。我们可以利用Rabbitmq的延迟队列插件实现消息前一分钟尽快处理 1.1定义延迟消息实体 由于我们要多次发送延迟消息&#xff0c;因此需要先定义一个记录消息…

2.6 Windows驱动开发:使用IO与DPC定时器

本章将继续探索驱动开发中的基础部分&#xff0c;定时器在内核中同样很常用&#xff0c;在内核中定时器可以使用两种&#xff0c;即IO定时器&#xff0c;以及DPC定时器&#xff0c;一般来说IO定时器是DDK中提供的一种&#xff0c;该定时器可以为间隔为N秒做定时&#xff0c;但如…

RedCap推动5G规模应用,紫光展锐赋能产业高质量发展

5G R17 RedCap作为面向中高速物联网场景的关键技术和解决方案&#xff0c;可以大幅降低终端的复杂度、成本和功耗。在当前国内5G应用规模化发展关键时期&#xff0c;5G R17 RedCap拥有广大的市场潜力与广泛的应用场景&#xff0c;将有助于推动5G规模应用、构建融通发展的5G生态…

【海德教育】建筑八大员中综合来看,以下几个岗位比较吃香

1.施工员 施工员刚入行工资不高、劳动强度大&#xff0c;但发展前景可观。 通过考建造师等执业资格证&#xff0c;后期有望出任项目经理&#xff0c;拿到一万起步的月薪。 想要晋升项目经理、包工头等&#xff0c;对于社交能力和个人吃苦能力要求比较高&#xff0c;比较适合男孩…

7、线性数据结构-切片

切片slice 容器容量可变&#xff0c;所以长度不能定死长度可变&#xff0c;元素个数可变底层必须依赖数组&#xff0c;可以理解它依赖于顺序表&#xff0c;表现也像个可变容量和长度顺序表引用类型&#xff0c;和值类型有区别 定义切片 var s1 []int //长度、容量为0的切片&…

11月14日,每日信息差

今天是2023年11月14日&#xff0c;以下是为您准备的11条信息差 第一、中国航司首开“上海-开罗”往返直飞航线&#xff0c;12月11日首航 第二、中核集团&#xff1a;我国首次获得丰度99%以上的镱176同位素 第三、微软与谷歌将不会挑战欧盟的数据迁移法规&#xff0c;该法律将…

ProEasy机器人:运动+通讯相关说明

----------------机械手运动------- --常用指令&#xff1a;MovP弧线运动、MovL直线运动 MovP(1) --弧线轨迹运动到一号点 MovP(2) --弧线轨迹运动到二号点 MovL(1) --直线轨迹运动到一号点 MovL(2) --直线轨迹运…

LeetCode——链表(Java)

链表 简介[简单] 203. 移除链表元素[中等] 707. 设计链表[简单] 206. 反转链表[简单] 24. 两两交换链表中的节点[简单] 19. 删除链表的倒数第 N 个结点 简介 记录一下自己刷题的历程以及代码。写题过程中参考了 代码随想录。会附上一些个人的思路&#xff0c;如果有错误&#…

VB生成UTF-8的URL编码

最近在研发股票软件&#xff0c;涉及到URL字符串的处理。贴出以下代码。 Function GBtoUTF8(szInput) Dim wch, uch, szRet Dim x Dim nAsc, nAsc2, nAsc3 如果输入参数为空&#xff0c;则退出函数 If szInput "" Then GBtoUTF8 szInput Exit Function End If 开始…

前、后端程序员开发常用api接口

顺丰速运开放平台&#xff1a;可以查询顺丰速运的快递信息。京东物流开放平台&#xff1a;可以查询京东物流的快递信息。全国快递物流查询&#xff1a;1.提供包括申通、顺丰、圆通、韵达、中通、汇通等600快递公司在内的快递物流单号查询。2.与官网实时同步更新。3.自动识别快递…

【C++】join ()和detach ()函数详解和示例

简单的来说&#xff0c;join ()方法建立的线程具有阻碍作用&#xff0c;该线程不结束&#xff0c;另一些函数就无法运行。detach ()方法建立的线程&#xff0c;可以和另一些函数同时进行。下面以示例进行详细说明&#xff0c;以帮助大家理解和使用。 目录 join ()detach () jo…

PHP使用文件缓存实现html静态化

<?php // 动态生成的内容 $content "<html><body><h1>time:".date("Y-m-d H:i:s")."</h1></body></html>"; // 静态文件保存路径和文件名 $staticFilePath "file.html"; if(file_exists($s…

Ladybug 全景相机, 360°球形成像,带来全方位的视觉体验

360无死角全景照片总能给人带来强烈的视觉震撼&#xff0c;有着大片的既视感。那怎么才能拍出360球形照片呢&#xff1f;它的拍摄原理是通过图片某个点位为中心将图片其他部位螺旋式、旋转式处理&#xff0c;从而达到沉浸式体验的效果。俗话说“工欲善其事&#xff0c;必先利其…

java实现计数排序

图解 计数排序是一种线性时间复杂度的排序算法&#xff0c;它不基于比较排序&#xff0c;而是根据待排序序列中元素的值来进行排序。 具体的过程如下&#xff1a; 统计序列中每个元素出现的个数&#xff0c;得到一个计数数组count。其中&#xff0c;count[i]表示待排序序列中值…