广告
返回顶部
首页 > 资讯 > 数据库 >【MySQL】——Select查询语句(其二)
  • 503
分享到

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

mysql数据库 2023-10-23 16:10:35 503人浏览 薄情痞子
摘要

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋C语言:c语言_IT闫的博客

🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_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博客​​​​​​

🥏pythonpython_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`  

  

   )

)

来源地址:https://blog.csdn.net/shsjssnn/article/details/133930813

您可能感兴趣的文档:

--结束END--

本文标题: 【MySQL】——Select查询语句(其二)

本文链接: https://www.lsjlt.com/news/440547.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【MySQL】——Select查询语句(其二)
    🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客...
    99+
    2023-10-23
    mysql 数据库
  • MYSQL select语句的单表查询
    这篇文章运用了实例代码展示select语句的单表查询的用法,代码非常详细,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。SELECT语句的基本语法如下:select selection_lis...
    99+
    2022-10-18
  • Sqlite—查询语句(Select)
    基本语法如下 sqlite> select * from tb_user; sqlite> select userid,username from tb_user; 格式化的查询输出 sqlite> .heade...
    99+
    2022-02-01
    Sqlite—查询语句(Select)
  • 【MySQL系列】Select语句单表查询详解(二)ORDERBY排序
    💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 ἴ...
    99+
    2023-08-30
    mysql android 数据库
  • MySQL 查询语句select讲解与练习
    select语句执行流程:        START------>1.FROM  &nbs...
    99+
    2022-10-18
  • sql的基础语句-sql的查询语句select
     SQL查询语句介绍--select语句1.简单的select查询语句1.1 查行SQL> select * from emp;1.2 查列SQL> select ...
    99+
    2022-10-18
  • MySQL Select 查询语句详解及高级用法
    MySQL是一个开源的关系型数据库管理系统,支持多种操作语言,其中最基础、最常用的命令之一就是SELECT语句。在本篇文章中,这里将详细介绍MySQL SELECT语句的各个方面,从最基本的查询语句,到更高级的技巧和功能。 一、基本...
    99+
    2023-10-01
    mysql 数据库 sql
  • MySQL 查询语句SELECT和数据条件过滤
    MySQL 查询语句SELECT ,主要是用 * 表示任意字段,也可以写id,name,content 等,数据条件过滤主要是between,and,or ,WHERE,in,like,li...
    99+
    2022-10-18
  • select查询语句该如何执行
    这期内容当中小编将会给大家带来有关select查询语句该如何执行,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。mysql 作为一个关系型数据库,在国内使用应该是...
    99+
    2022-10-19
  • MySQL查询从多个select语句中获取结果?
    要从多个 select 语句中获取结果,请使用 UNION ALL。以下是语法 -select yourValue1 AS anyColumnName UNION ALL select yourValue2 AS yourC...
    99+
    2023-10-22
  • MySQL数据库中怎么利用select语句查询表
    今天就跟大家聊聊有关MySQL数据库中怎么利用select语句查询表,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  MySQL数据库用s...
    99+
    2022-10-18
  • 数据库查询语句select的用法
    这篇文章将为大家详细讲解有关数据库查询语句select的用法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数据库查询语句select用于从表中选取数据,结果被存...
    99+
    2022-10-18
  • MySQL 基本查询语句
    1.SQL分类 DDL(Data Definition Languages、数据定义语言),这些语句定义了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。...
    99+
    2023-09-27
    mysql 数据库 sql
  • MySQL 查询语句大全
    目录 基础查询 直接查询 AS起别名 去重(复)查询 条件查询 算术运算符查询 逻辑运算符查询 正则表达式查询⭐ 模糊查询 范围查询 是否非空判断查询 排序查询  限制查询(分页查询) 随机查询 分组查询 HAVING 高级查询 子...
    99+
    2023-08-31
    mysql 数据库 sql
  • mysql查询语句优化
     这篇说下mysql查询语句优化 是否请求了不需要的数据 典型案例:查询不需要的记录,多表关联时返回全部列,总是取出全部列,重复查询相同的数据。 是否在扫描额外的记录 ...
    99+
    2022-05-11
    mysql
  • 怎么查询mysql语句
    这篇文章主要介绍怎么查询mysql语句,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!查询mysql语句的方法:查询一张表中的记录时,代码为【select * from 表名...
    99+
    2022-10-18
  • Mysql查询语句大全
    简单查询 ## 直接查询语法:select 字段 from 表名;举例:select name, age from student;解析:从 student 表中查询 name 与 age ## 条件查询语法:selec...
    99+
    2023-08-16
    mysql sql 数据库
  • T-SQL查询语句 第二部分 (多表查询)
    T-SQL查询语句大总结 防伪码:有志者事竟成,破釜沉舟,百二秦关终属楚案例六:表如下图所示 在数据库中显示为:实验需求:1、两个表查询select 学生表.姓名,学生表1.电话,学生表...
    99+
    2022-10-18
  • 【MySQL系列】Select语句单表查询详解入门(SELECT,AS,模糊查询,运算符,逻辑运算符)
    💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 ἴ...
    99+
    2023-09-04
    mysql 数据库
  • MySQL查询语句过程和EXPLAIN语句的基本概念及其优化
    这篇文章主要讲解了“MySQL查询语句过程和EXPLAIN语句的基本概念及其优化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL查询语句过程和EXP...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作