当前位置: 首页 > news >正文

【Sql】sql语句练习随记

本文通过最经典的“学生-成绩-课程-教师”表来帮助练习sql语句。

在这里插入图片描述

STUDENT表

  • SNO 学号
  • SNAME 姓名
  • SSEX 性别
  • SBIRTHDAY 生日
  • CLASS 班级

SCORE表

  • SNO 学号
  • CNO 课程编号
  • DEGREE 分数

COURSE表

  • CNO 课程编号
  • CNAME 课程名称
  • TNO 教师编号

TEACHER表

  • TNO 教师编号
  • TNAME 教师姓名
  • TSEX 性别
  • TBIRTHDAY 生日
  • PROF 职称
  • DEPART 系部

1. 查询“12”班学生所选各个课程的平均分。

select CNO, avg(DEGREE)
from SCORE
where SNO in (select SNOfrom STUDENTwhere CLASS = '12')
group by CNO

2. 查询和学号为108的同学同年出生的所有学生的Sno、Sname和Sbirthday列。

selectSNO,SNAME,SBIRTHDAY
from STUDENT
where year(SBIRTHDAY) = (select year(SBIRTHDAY)from STUDENTwhere SNO = '108'
);

3. 查询“李明“教师任课的学生成绩。

select *
from SCORE
where CNO in (select CNOfrom COURSEinner join TEACHER on COURSE.TNO = TEACHER.TNO and TNAME = '李明'
);

4. 查询选修某课程的同学人数多于5人的教师姓名。

select TNAME
from TEACHER
where TNO in (select TNOfrom COURSEwhere CNO in (select CNOfrom SCOREgroup by CNOhaving count(SNO) > 5)
);

5. 查询“计算机系”中与“电子工程系“不同职称的教师的Tname和Prof。

selecttname,prof
from TEACHER
where depart = '计算机系' and prof not in (select proffrom TEACHERwhere depart = '电子工程系'
);

6. 查询所有教师和同学的name、sex和birthday。

selectTNAME     name,TSEX      sex,TBIRTHDAY birthday
from TEACHER
union
selectsname     name,SSEX      sex,SBIRTHDAY birthday
from STUDENT;

7. 查询成绩比该课程平均成绩低的同学的成绩表。

select * 
from score 
join (select CNO, avg(DEGREE) as avg from SCORE group by CNO) t1 
on score.sno = t1.cno 
where score.degree < t1.avg;

8. 查询所有未讲课教师的Tname和Depart。

select TNAME,DEPART
from teacher
where TNO not in (select distinct(TNO) from course);

9. 查询至少有2名男生的班号。

select class
from student
where SSEX = '男'
group by class
having count(SSEX)>1

10. 查询Student表中每个学生的姓名和年龄。

selectSNAME,year(now()) - year(SBIRTHDAY)
from STUDENT;

11. 查询和“李军”同性别并同班的同学Sname。

select sname
from STUDENT
where (SSEX, CLASS) = (selectSSEX,CLASSfrom STUDENTwhere SNAME = '李军');
http://www.lryc.cn/news/62266.html

相关文章:

  • IDEA社区版搭建Tomcat服务器并创建web项目
  • C++ [STL-简介]
  • 牛客前端编程语言错题2
  • 【C语言】基础语法3:控制流程结构
  • MySQL安全性:防止攻击和保护数据
  • R语言结构方程模型(SEM)
  • 软件or硬件?硬件的前途到底在哪里?
  • 同学在外包干了两年的点点点,24岁人就快废了
  • 基于Java springboot 疫情在线网课管理系统
  • Unity Camera -- (3)控制相机能看到的东西
  • 《基于深度迁移学习的可穿戴睡眠阶段分类》阅读笔记
  • java版工程管理系统源码企业工程项目管理系统简介
  • 机器学习算法 决策树
  • 论文笔记:An Interactive-Voting Based Map Matching Algorithm
  • _awt_container容器_演示
  • TryHackMe-Misguided Ghosts(boot2root)
  • 【Leetcode】10. 正则表达式匹配
  • 不得不说的结构型模式-装饰器模式
  • Flutter+YesAPI 快速构建零运维的APP
  • 使用Socks5代理保障HTTP传输的网络安全
  • C语言入门篇——操作符篇
  • YOLOv7训练自己的数据集(txt文件,笔记)
  • 防止机械/移动硬盘休眠 - NoSleepHD
  • (二)app自动化脚本录制回放
  • STM32HAL库USART外设配置流程及库函数讲解
  • Qt 实现TCP通信和UDP通信
  • 完成近4亿元C轮融资+自研底盘域控,本土线控制动玩家“拼”了
  • 【UE】一个简易的游戏计时器
  • Leetcode力扣秋招刷题路-0455
  • 一小时学会CSS (上)