👨💻个人主页:@元宇宙-秩沅
hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
本文由 秩沅 原创
**收录于专栏 数据库
1.作用:
选择全部元素输出
2.相关例题:
例题二 和 例题十四
3.例子:
SELECT * FROM Course
1.作用:
去除重复的
2.相关例题 :
例题十二
3.例子:
SELECT COUNT(DISTINCT Sdep_class) FROM Student
1.作用:
限制条件,先筛选符合条件再进行分组
2.相关例题 :
所有例题都可参考
3.例子:
SELECT Grade1 FROM SC WHERE Sno = 0538 ;
1.作用:
模糊查询,匹配字符串查询 ,前面娅佩搭配如“WHERE ”语句的使用
① _ ----按单个字符进行查询
② % -----按0个或者多个字符进行查询
③[ ] -----随机匹配括号里面任意的字符
④[ ^ ] ----不匹配括号里面的任意字符
2.相关例题 :
例题七 和 例题八
3.例子 :
SELECT Sno,Sname ,Sdep_class FROM Student
WHERE Sname LIKE ‘张%’;
1.作用:
先分组再进行条件
2.相关例题 :
例题十三
3.例子:
SELECT Sno, AVG(Grade1), AVG(Grade2), AVG(Grade3) FROM SC
GROUP BY Sno HAVING COUNT(DISTINCT Cno)>=3 ;**
1.作用:
分组语句 ,可以和 HAVING 配合使用
2.相关例题 :
例题十三
3.例子:
SELECT Sno, AVG(Grade1), AVG(Grade2), AVG(Grade3) FROM SC
GROUP BY Sno HAVING COUNT(DISTINCT Cno)>=3 ;
1.作用:
①COUNT(*)–统计元组个数
②COUNT(DISTINCT XX)—统计元组个数并且去除XX重复列
③SUM(XX) ----统计XX列的和
④AVG(XX)-----统计XX列的平均值
⑤MAX(XX)----统计XX列的最大值
⑥MIN(XX)-----统计XX列的最小值
2.相关例题 :
例题十一,十二,十三
3.例子:
SELECT COUNT(DISTINCT Sdep_class) FROM Student
1.作用:
将多个表进行连接
SELECT XX FROM 表一 + 拟名 INNER JOIN 表二 + 拟名 ON 链接条件
2.相关例题 :
例题十四
3.例子:
SELECT S.Sno ,C.Cno ,S.Sname ,D. FROM Student S INNER JOIN SC C ON S.Sno = C.Sno
JOIN Course D ON C.Cno = D.Cno
WHERE Sname = ‘于兰兰’ ;
1.作用:
左连接:SELECT XX FROM 表一 + 拟名LEFT JOIN 表二 + 拟名 ON 链接条件
右连接:SELECT XX FROM 表一 + 拟名 RIGHT JOIN 表二 + 拟名 ON 链接条件
2.相关例题 :
例题十四
3.例子:
SELECT S.Sno ,C.Cno ,S.Sname ,D. FROM
Student S LEFT JOIN SC C ON S.Sno = C.Sno LEFT JOIN Course D ON C.Cno = D.Cno
WHERE Sname = ‘于兰兰’ ;
1.作用:
也称为内层查询
2.WHERE <列名> [NOT ] IN (子查询)\
例子: SELECT * FROM student
WHERE Sdep IN (SELECT Sdep FROM student WHERE Sname=‘切尔西’)
题目:第十五题
3. WHERE <列名> 比较运算符(子查询)
例子: SELECT * FROM Course
WHERE pe=riod > (SELECT period FROM Course WHERE name = ‘蓝色妖姬’
题目:第十六题
4.带有ANY 和ALL的子查询
见图如下:
例子:
SELECT Sno ,Grade FROM SC WHERE Cno = ‘c04’ AND Grade > ALL(SELECT Grade FORM SC WHERE Cno = ‘c03’ ) ;
1作用
–连接查询,连接同一个表或者多个表,进行查询
2,例子
SELECT s1.* FROM Student AS s1 ,Student AS s2
WHERE s2.Sname = ‘切尔西’ AND s1.Sdep_class = s2.Sdep_class
1.插入数据:
INSERT INTO Student VALUES (11112 ,‘吕布’,‘男’,‘战士’,‘1991-01-01’,‘’);
2.更新数据 :
UPDATE Cco SET age = 2*age; //将年龄变成原来的两倍
3.删除数据:
DELETE FROM Student WHERE Sname = ‘吕布’; //删除所有关于吕布的数据
语句
SELECT Sno,Sname,Sdep_class FROM Student
结果
语句
SELECT * FROM Course
结果
语句
SELECT distinct Sdep_class FROM Student
结果
语句
SELECT * FROM Course
WHERE Credit > 60
结果
语句
SELECT Sno,Sname,Sbirthday FROM Student
WHERE Sbirthday LIKE ‘1986%’ ;
结果
语句
ELECT Sno,Cno FROM SC
WHERE Grade1 > 80 and Grade2 > 80 and Grade3 > 80 ;
结果
语句
SELECT Sno,Sname ,Sdep_class FROM Student
WHERE Sname LIKE ‘张%’;
结果
语句
SELECT * FROM Student S INNER JOIN SC ON S.Sno = SC.Sno
JOIN Course C ON SC.Cno=C.Cno
WHERE S.Sno LIKE ‘05%’ and Ssex = ‘男’;
结果
语句
SELECT Sno,Cno FROM SC
WHERE Grade1 = NULL or Grade2 = NULL or Grade3 = NULL ;
结果
语句
SELECT Grade1 FROM SC WHERE Sno = 0538 ;
结果
语句
SELECT COUNT(DISTINCT Sno) FROM SC WHERE Cno =‘K001’;
结果
语句
SELECT COUNT(DISTINCT Sdep_class) FROM Student
结果
语句
SELECT Sno, AVG(Grade1), AVG(Grade2), AVG(Grade3) FROM SC
GROUP BY Sno HAVING COUNT(DISTINCT Cno)>=3 ;
结果
语句
①内连接
SELECT S.Sno ,C.Cno ,S.Sname ,D.* FROM Student S INNER JOIN 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 LEFT JOIN SC C ON S.Sno = C.Sno
LEFT JOIN Course D ON C.Cno = D.Cno
WHERE Sname = ‘于兰兰’
结果
语句
SELECT * FROM student
WHERE Sdep IN (SELECT Sdep FROM student WHERE Sname=‘吕布’)
结果
语句
SELECT * FROM Couy
WHERE P > (SELECT P FROM Couye WHERE Cname = ‘炼丹课’ )
结果
你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!