👨💻个人主页:@元宇宙-秩沅
hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
本文由 秩沅 原创
收录于专栏 SQL server
目录
13.查询选修三门以上(含三门)课程的学生的学号和作业1平均分、作业2平均分和作业3平均分。
14.查询于兰兰的选课信息,列出学号、姓名、课程名(使用两种连接查询的方式)。
一,*
作用: 选择全部元素输出 -
例题二2.查询课程的全部信息。
二,distinct
作用:去除重复的
三,WHERE
作用:限制条件,先筛选符合条件再进行分组
-全部例题均可参考
四,LIKE
作用:模糊查询,匹配字符串查询 ,前面娅佩搭配如“WHERE ”语句的使用
① _ ----按单个字符进行查询
② % -----按0个或者多个字符进行查询
③[ ] -----随机匹配括号里面任意的字符
④[ ^ ] ----不匹配括号里面的任意字符
-例题八8.查询05级的男生信息。
五,HAVING
先分组再进行条件
六,GROUP BY
作用:分组语句 ,可以和 HAVING 配合使用
七,内连接
作用:SELECE xx FROM 表1 a INNER JOIN 表2 ON 条件
八,聚合函数
作用:
①COUNT(*)--统计元组个数
②COUNT(DISTINCT XX)---统计元组个数并且去除XX重复列
③SUM(XX) ----统计XX列的和
④AVG(XX)-----统计XX列的平均值
⑤MAX(XX)----统计XX列的最大值
⑥MIN(XX)-----统计XX列的最小值
例题十一,十二,十三
九,内连接INNER
作用:SELECT XX FROM 表一 + 拟名 INNER JOIN 表二 + 拟名 ON 链接条件
十,外连接 LEFT AND RIHT
作用:
左连接:SELECT XX FROM 表一 + 拟名LEFT JOIN 表二 + 拟名 ON 链接条件
右连接:SELECT XX FROM 表一 + 拟名 RIGHT JOIN 表二 + 拟名 ON 链接条件
十一,例题和语句详解
0.例题表格数据
表1.1 学生表
学号 |
姓名 |
性别 |
专业班级 |
出生日期 |
联系电话 |
0433 |
张艳 |
女 |
生物04 |
1986-9-13 |
|
0496 |
李越 |
男 |
电子04 |
1984-2-23 |
1381290×××× |
0529 |
赵欣 |
男 |
会计05 |
1984-1-27 |
1350222×××× |
0531 |
张志国 |
男 |
生物05 |
1986-9-10 |
1331256×××× |
0538 |
于兰兰 |
女 |
生物05 |
1984-2-20 |
1331200×××× |
0591 |
王丽丽 |
女 |
电子05 |
1984-3-20 |
1332080×××× |
0592 |
王海强 |
男 |
电子05 |
1986-11-1 |
表1.2 课程表
课程号 |
课程名 |
学分数 |
学时数 |
任课教师 |
K001 |
计算机图形学 |
2.5 |
40 |
胡晶晶 |
K002 |
计算机应用基础 |
3 |
48 |
任泉 |
K006 |
数据结构 |
4 |
64 |
马跃先 |
M001 |
政治经济学 |
4 |
64 |
孔繁新 |
S001 |
高等数学 |
3 |
48 |
赵晓尘 |
表1.3 学生作业表
课程号 |
学号 |
作业1成绩 |
作业2成绩 |
作业3成绩 |
K001 |
0433 |
60 |
75 |
75 |
K001 |
0529 |
70 |
70 |
60 |
K001 |
0531 |
70 |
80 |
80 |
K001 |
0591 |
80 |
90 |
90 |
K002 |
0496 |
80 |
80 |
90 |
K002 |
0529 |
70 |
70 |
85 |
K002 |
0531 |
80 |
80 |
80 |
K002 |
0538 |
65 |
75 |
85 |
K002 |
0592 |
75 |
85 |
85 |
K006 |
0531 |
80 |
80 |
90 |
K006 |
0591 |
80 |
80 |
80 |
M001 |
0496 |
70 |
70 |
80 |
M001 |
0591 |
65 |
75 |
75 |
S001 |
0531 |
80 |
80 |
80 |
S001 |
0538 |
60 |
80 |
1.查询各位学生的学号、班级和姓名。
(1)语句
SELECT Sno,Sname,Sdep_class FROM Student
- 结果编辑
2.查询课程的全部信息。
(1)语句
SELECT*FROM Course
- 结果
编辑
3.查询数据库中有哪些专业班级。
- 语句
SELECTdistinct Sdep_class FROM Student
- 结果
编辑
4.查询学时数大于60的课程信息。
(1)语句
SELECT*FROM Course
WHERE Credit > 60
- 结果编辑
5.查询在1986年出生的学生的学号、姓名和出生日期。
(1)语句
SELECT Sno,Sname,Sbirthday FROM Student
WHERE Sbirthday LIKE'1986%';
- 结果
编辑
6.查询三次作业的成绩都在80分以上的学号、课程号。
- 语句
ELECT Sno,Cno FROM SC
WHERE Grade1 > 80 and Grade2 > 80 and Grade3 > 80 ;
- 结果
编辑 无三次都在80分以上的
7.查询姓张的学生的学号、姓名和专业班级。
- 语句
SELECT Sno,Sname ,Sdep_class FROM Student
WHERE Sname LIKE'张%';
- 结果
编辑
8.查询05级的男生信息。
- 语句
SELECT*FROM Student S INNERJOIN SC ON S.Sno = SC.Sno
JOIN Course C ON SC.Cno=C.Cno
WHERE S.Sno LIKE'05%'and Ssex ='男';
- 结果
编辑
9.查询没有作业成绩的学号和课程号。
- 语句
SELECT Sno,Cno FROM SC
WHERE Grade1 =NULLor Grade2 =NULL or Grade3 =NULL;
(2)结果
编辑
10.查询学号为0538的学生的作业1总分。
- 语句
SELECT Grade1 FROM SC
WHERE Sno = 0538 ;
(2)结果
编辑
11.查询选修了K001课程的学生人数。
- 语句
SELECTCOUNT(DISTINCT Sno)FROM SC
WHERE Cno ='K001';
(2)结果
编辑
12.查询数据库中共有多少个班级。
- 语句
SELECTCOUNT(DISTINCT Sdep_class)FROM Student
(2)结果
编辑
13.查询选修三门以上(含三门)课程的学生的学号和作业1平均分、作业2平均分和作业3平均分。
语句
SELECT Sno,AVG(Grade1),AVG(Grade2),AVG(Grade3)FROM SC
GROUPBY Sno HAVINGCOUNT(DISTINCT Cno)>=3 ;
(2)结果
编辑
14.查询于兰兰的选课信息,列出学号、姓名、课程名(使用两种连接查询的方式)。
(1)语句
①内连接
SELECT S.Sno ,C.Cno ,S.Sname ,D.*FROM Student S INNERJOIN SC C ON S.Sno = C.Sno
JOIN Course D ON C.Cno = D.Cno
WHERE Sname ='于兰兰'
②外连接
SELECT S.Sno ,C.Cno ,S.Sname ,D.*FROM Student S LEFTJOIN SC C ON S.Sno = C.Sno
LEFTJOIN Course D ON C.Cno = D.Cno
WHERE Sname ='于兰兰'
(2)结果
编辑
你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!
栓Q
编辑