SQL入门:复杂查询

目录

1:视图

2:子查询

3:标量子查询

4:关联子查询

5:如何使用SQL解决业务问题

6:各种函数

一、视图

1、视图存放的是SQL的查询语句

 

a9e032fa4ba97ef7c27e7c5374d580ff.png

 

415227ba4e4e2d5a35e940461d176c76.png

2、如何创建视图

 

7b5dbb32e85a8e79b515b711cf3070b5.png

3、如何使用视图,

 

ea69a476974f6b0d20b6da5480317bff.png

4、视图有什么用,经常使用的表保存为视图,就不用经常使用SQL语句了;视图中的数据随着原表的更新而更新,视图存的是语句不是数据;不需要保存数据;

5、注意事项

①不能在视图上在创建视图,降低效率

②不能网视图里面插入数据,会报错

二:子查询(在一个语句中在插入另一套语句),就是一次性的视图,怎么理解呢,重新创建一个临时的表,用来找到自己需要的数据

 

158d1fce331f089bb04da58c6091f2a4.png

1、先运行子查询

 

75bb165eec8b7902c75cac1e5f53f4fd.png

2、子查询放入where语句中,与「in] [all] 「any]一起使用

 

bef91ddebc04ec60c2b6fc69dd78381b.png

3、举例,更复杂的条件

 

d18e04f2bc0cc5d9d79642b65383d6ed.png

 

63fd81398b8b35a2331697e1cf9cc8d6.png

 

754352b85d4df289159715fdfee34f02.png

 

c43b1f34c2b7456cc242844651b2073f.png

 

81a8228272e8f00b5505bb3aa6bd99d8.png

 

20b70e99551f79ed06850df64ced0e24.png

3、any all 的子查询

 

bb8409c843ea60f70ab726138200f042.png

注释:运算符包括哪些:1)算数运算符;2)比较运算符 ; 3)逻辑运算符

 

adf4a048b1768f9043d3add001374c46.png

4、举例:(any 比任意一个高)

 

83cbf649a68e838b40788e885805dbbf.png

 

2fd60256f8b7f23b9e0849ef6769cfcc.png

 

51fc9b815d3c3476171b6d2981d72837.png

5、举例: all 比任何都。。。。。。

 

f57ec69ab0ce02fd761f274a076a7f65.png

6、什么时候使用子查询(根据具体的情况做决定)

 

4b6f25017f6065f893fbb56135381243.png

7.使用子查询注意的事项

 

14479bd11de2ce9bd0eabf08526766d0.png

8、SQL的运行顺序

 

bf32ada686773d2983aab218dd379fcf.png

三:标量子查询

1、什么是标量子查询(where 语句中不可以使用汇总函数);「返回是单一的值」,在使用「单一值」得情况下就可以使用标量子查询;也就是返回一行一列,换句话讲定位某个数值

 

8d0d01e727562cea4c4033f4ae8b9eeb.png

 

5de2a4e47e66b81f0962c57f120c9073.png

 

4feb342ad70ce97ca3633ae53e31db70.png

2、如何使用单量子查询,标量子查询不一定要在where语句中,任何有求单一值得地方都可以使用标量子查询,

 

dfae519573ad5299d067cd9d08456314.png

3、标量子查询有什么用

 

93b0bd2f7bffa6d8bfaf8c0464631b0f.png

注释:如何区分子查询和标量子查询,语句中需要多行数据值,就用子查询,用逻辑运算符 in all any等,如果只需要单值,比如平均成绩、最大值等就用标量子查询,不仅仅只用造where 语句中,也可以用在select语句中

4、标量子查询的注意事项(不允许出现多行数据)

 

ffdd54457058a9745a028b3fe5e4e6f3.png

五、关联子查询

1、什么时候用关联子查询,不是在全部数据里面进行比较,适应范围是在每个组里面进行比较,在分组查询后面进行筛选查询。

 

dcbcb404dbb9ffeb445d4f12b5069216.png

2、如何应用(在每个组里面进行比较的时候用关联子查询)

 

e47acca5f2db82cec74867cc77a3451d.png

 

223f8e8b61c0c5cb37ab2cce2edcaad4.png

 

bb24eac644169319c9c9e9c3fa84613e.png

子查询、标量子查询、关联子查询之间的区别(1子查询「多行」,标量字查询「单行」,关联子查询「分组里面筛选比较」

 

0d8e45a0e1c3009dd091c2742fdb5bc1.png

六:如何使用SQL解决业务问题

1、如何用SQL解决业务问题

 

08cd329cc6069210645488220cfaa8af.png

 

a0c6c9d1091a4a7f5f0b54a7bfbd57cf.png

 

0e7c8ee1df9c95dea34e6dc7c144bdd0.png

 

40a72b00992ce1cbee068b2bff97f4b5.png

如何查找错误:用排除法

 

d51477fbbb039e0e2580aa7c78c1cbbe.png

先运行子查询对不对,如果子查询对了,那就是在查询外面,用(运行中的「运行已选择的」)

六:各种函数

 

fb91ae3018c46c5799cf02bff1cd388d.png

 

0b6afcaac9233c3ee2f9f422a161c7ec.png

 

919d31281dae271b6e7234c2eb831663.png

 

3827597399656559047f866aab2ba28e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值