手记

数据库管理系统及其应用环境的创建使用

数据库查询,视图使用

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
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


0人推荐
随时随地看视频
慕课网APP