数据库查询,视图使用
1. 单表查询
SELECT * FROM s
2. 多表查询并排序输出
SELECT s.Sname,
sc.Cno,
sc.Grade
FROM
s,
sc
WHERE
s.Sno=sc.Sno
ORDER BY
sc.Grade
3. 使用聚类函数
SELECT s.Sname,
AVG(sc.Grade)
FROM
s,
sc
WHRER
s.Sno=sc.Sno
GROUP BY
s.Sname
4. 分组查询
SELECT * FROM sc
GROUP BY
Cno
HAVING
Grade > 90
5. 嵌套查询
SELECT * FROM s WHRER Sno
IN (SELECT Sno FROM WHRER sc.Grade>90)
6. 模糊查询
SELECT * FROM c WHRER Cname LIKE '%a%'
7 创建并使用视图查询
7.1 创建多表连接视图
CREATE VIEW V_SSC (S_no,S_name,S_dept,C_no,S_Grade ) AS
SELECT s.Sno,Sname,Sdept,Cno,Grade
FROM s,sc WHRER s.Sno = sc.Sno AND
Sdept 'CS' WITH CHECK OPTION
[object Object]
7.1.1 查询视图
SELECT * FROM V_SSC
7.1.2 验证视图
在更新CS
系的学生时可以顺利更改
UPDATE V_SSC SET S_Grade=60 WHRER S_no='1' AND C_no='1'
涉及到了多个基本表,所以不能插入
INSERT INTO V_SSC(S_no,S_name,S_dept,C_no,S_Grade)
VALUES ('3', 'FanOne','CS','2','95')
7.2 单表视图
7.2.1 创建单表连接视图
CREATE VIEW V_S(S_no,S_name,S_dept,S_class) AS SELECT
Sno,Sname,Sdept,Class FROM s
WHRER Sdept = 'CS' WITH CHECK OPTION
7.2.2 查询单表视图
SELECT * FROM v_s
7.2.3 插入’CS’系学生信息,视图和基本表都发生变化
INSERT INTO V_SSC(S_no,S_name,S_dept,C_no,S_Grade) VALUES ('3', 'FanOne','CS','19')
视图
基本表
插入非’CS’的时候就会报错
INSERT INTO V_SSC(S_no,S_name,S_dept,C_no,S_Grade)
VALUES ('4', 'FanOne','CSGO','19')
作者:小生凡一
链接:https://juejin.cn/post/7028107101507420190
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。