mysql 5.7视图子查询_MySQL入门:视图、子查询

本文介绍了MySQL 5.7中视图的概念和使用,强调了视图作为查询简化工具的优势,同时探讨了子查询在数据操作中的应用,包括单行单列、多行单列和多行多列子查询。通过实例展示了如何使用子查询进行数据更新,以及子查询与表连接查询的优缺点对比。
摘要由CSDN通过智能技术生成

2ff34e647e2e3cdfd8dca593e17d9b0a.png

视图

将查询的结果创建为一个视图。

在视图中没有数据,只有查询语句,当需要通过查询视图中的数据时,根据查询语句到实际的表中查询到数据并显示。

语法:

dc30d0f179df40401f34aef05df4e936.png

创建视图例子:

a32b2df69d100a3e4661e4148991298e.png

使用:

SELECT * FROM empinfo

视图中没有数据,只有创建视图时的SQL语句定义。

在使用视图时才会去执行SQL语句,查询实际的数据。

将多表查询定义为视图,可以大大方便实际查询的日常使用。

使用视图不方便修改数据,容易出错,视图一般用于查看数据。

子查询

需求:

给在北京工作的员工涨工资10%,更新员工表,但工作地点北京在部门表里,通过部门表查询北京的部门编号,根据查询到的部门编号再到员工表中更新。

在某些情况下,增、删、改、查操作需要其他的SELECT语句结果。这个SELECT查询语句就称为子查询。

下面查询操作的为这三张中数据:

部门表dept

a77317096956ddba7664975d4aa0fa5c.png

员工表emp

7c50ca1888f0d54556c3a288880acc17.png

工资等级表salgrade

9cea8e859939f60ea2b70e5bc64e1eb1.png单行单列的子查询结果

显示在北京上班的员工信息

查询在北京的部门编号

6769cc7afaca36bdff56fe64a36e3110.png

6a713acb139145a16079e50b3ba727a7.png

显示在北京上班的员工信息

b16d9a988b66415daab35af857cc4fa2.png

83ad27b32c03c77a5504508cb810df57.png多行单列的子查询结果

子查询得到多行单列的多个结果值

显示在北京和上海的员工的信息

查询北京和上海的部门编号

5ad34810759aca5c5c2fc2b7a929cea8.png

7e9f9e226085e91de6eb72cd3645fa05.png

显示在北京和上海的员工的信息

84c4fb258d0216b3a7fa6ce1c2f6f835.png

9014559d6310c0df4a77c7394cfd9f47.png多行多列的子查询

案例:显示每个部门工资最多的员工信息

c55aae2904636f3d0fa3ca53a2dd2dea.png

09bfc5b4bcd14223e508b458bba91a84.png

子查询替换

显示员工工资超过北京平均工资的人员信息

找北京的部门编号

12849ee69dc890f1f3616d1ae65d31fc.png

8959d0896584a15ffa63cac83e167461.png

找北京部门编号对应的员工的平均工资

b03f0421c2814b6650c52f8e6d6865f0.png

00314b347506ee2557b4d69fa6f0bb93.png

显示员工工资超过北京平均工资的人员信息

696540d29f29a029cb76a8006eb59afd.png

f8f05db4e923103e2af1dd4ec06c2f2a.png

表连接实现:

5b5c215d32971de9811003ab370f9362.png

a52f8ad5eb6e1272063795c70a1a2f77.png

比较表连接和子查询

子查询优点:思路简单理解方便,可以解决连接查询不能解决的问题。

子查询缺点:效率低,多个SQL语句,会多次连接数据库服务器发送多次请求。

表连接查询优点:显示效果好,可以显示多张表中的信息。效率高,请求次数少。

表连接查询缺点:连接情况复杂。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值