mysql视图实验心得_Mysql学习经验总结【3】

1.汇总联系知识点梳理

a.视图:

(1)标准语句:

CREATE VIEW 视图名称(, , ...)

AS

;

(2)删除方法

DROP VIEW 视图名称;

(3)视图的优点:在为复杂查询编写查询语句时可以使用视图简化操作流程,提高效率;视图只储存查询语句,并不包含具体结果,因此可以适用于频繁更新的数据库;视图只在被调用时创建临时表,有助于节省空间,提高效率。

(4)视图的注意事项:不要在视图中创建子视图,会降低sql运行的效果;不要在视图中插入数据

b.子查询

(1)涉及到的语句:

SELECT 列名1 FROM 表名1 WHERE 列名1 > ANY(子查询);

SELECT 列名1 FROM 表名1 WHERE 列名1 > ALL(子查询);

这两个语句的区别在于ANY和ALL,any用于判断是否任意子查询的值符合公式,all判断是否子查询的所有值均符合公式。

(2)注意事项:ALL()得到的是一个集合,不能使用算数运算符;避免多层嵌套子查询,会降低sql运行效率

c.标量子查询

例题演示:

SELECT 学号, 成绩

FROM score

WHERE 成绩 > (

SELECT AVG(成绩)

FROM score

);

注意这里标量查询返回的是单一值,可以使用比较运算符。

d.关联子查询

例题演示

SELECT 学号, 课程号, 成绩

FROM score AS s1

WHERE 成绩 > (

SELECT AVG(成绩)

FROM score AS s2

WHERE s1.课程号 = s2.课程号

GROUP BY 课程号

);

注意关联子查询一般用于在每个组内进行比较时。

2.汇总练习答案整理列出每個國家的名字name,當中人口population是高於俄羅斯'Russia'的人口。列出歐州每國家的人均GDP,當中人均GDP要高於英國'United Kingdom'的數值。在阿根廷Argentina及 澳大利亞Australia所在的洲份中,列出當中的國家名字name及洲分continent。按國字名字順序排序哪一個國家的人口比加拿大Canada的多,但比波蘭Poland的少?列出國家名字name和人口population 。顯示歐洲的國家名稱name和每個國家的人口population。以德國的人口的百分比作人口顯示。哪些國家的GDP比Europe歐洲的全部國家都要高呢? [只需列出name。] (有些國家的記錄中,GDP是NULL,沒有填入資料的。)在每一個州中找出最大面積的國家,列出洲份continent, 國家名字name及面積area。 (有些國家的記錄中,AREA是NULL,沒有填入資料的。)列出洲份名稱,和每個洲份中國家名字按子母順序是排首位的國家名。(即每洲只有列一國)找出洲份,當中全部國家都有少於或等於 25000000 人口. 在這些洲份中,列出國家名字name,continent洲份和population人口。有些國家的人口是同洲份的所有其他國的3倍或以上。列出 國家名字name 和 洲份 continent

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值