sql列名在目标表或视图中不存在_Data Science 之 SQL (四) -复杂查询

0ba3527c2d7796acf3cc0016a7cb7dc2.png

SQL学习之路再进一步,加油~

Attention : 学习思路

4dd8a6c076bcf96e30f2f3588fcde75a.png

一.视图

  • 不存放数据,只存储查询语句
  • 创建视图,view后的列名与select括号内的列名对应一致
  • 使用:在子句中使用视图名称代替表名称
  • 更新原表,视图查询结果也会相应更新

Q:Why we need view ?

频繁使用某一些sql语句时以视图代替节省时间,提高效率,节省存放数据的空间。

Key points: 视图使用注意事项

  • 避免视图基础上二次创建视图,多重视图降低sql效率;
  • 视图内不能插入数据;

调用视图:

ca2d90fb5e35e69b040e4c54e0b4ba5d.png

视图示例

61ddea942ca35d3c7810f88690dc48e1.png

二. 子查询---多行查询

  • 在from 子句中直接写定义视图的sql查询语句,即直接在sql查询语句中写定义视图的语句,在select 语句中嵌套select语句
  • 先运行子查询得到一个临时表,外层查询以临时表为基础开始新的查询

2.1 in (子查询)

681aaba36146e503d55f094d8388693a.png

2.2 any(子查询)与some(子查询)相同

语法及示例:

f4cd8220ef026faa3b415a0f83d63830.png

6af993b2d7263b59b23554fb35289f88.png

a293b7665244545e44c540c847e3d3bb.png

2.3 between(子查询)

f8314fdabb274e534db2683c3d1440fa.png

Q:When will we need view?

A: 频繁使用某查询语句

2.4 注意事项总结

401aae41d34b6137108362809355fd3e.png

2.5重申sql运行顺序

93b618348398c5b89b2fcac32f2fd9c4.png

三 .标量子查询---返回单一值

标量子查询返回单行单列的单一值

c282e24911a75e25731719016fa668d3.png
Where后不能跟含汇总函数的语句

f3ee0d85c1330f156fab248dae034fb6.png
select标量子查询,select后跟的是列名,所以都是每一行的结果

错误示例:

f17bd42015c727ce1ef8dc36fc829879.png
select标量子查询不能返回多行值

四 .关联子查询---需要在每个组内比较且子查询里存在关联条件

示例:

c4fc8fa1220cae3fc373e40d0186343e.png

总结子查询与视图的用法,以打车为例:

63b911b9217cefbaedf505f4b4bf8a64.png

五.动动手,用sql语句来解决业务问题~

  • 理解问题要求;
  • 写出分析思路;
  • 写出对应SQL 语句;

分析思路:

535e22d60221602e78c206155ab940dc.png

代码示例:

22fe8596ef45c2ef65ce00dc4fda4a0f.png

六.介绍常用函数

函数:输入+功能 = 输出

0158322f073fa547fa2a48e123b97aa3.png

af7886727f4262db9d15958f7d284915.png

090ee0cb7384550b9ddb1df6a3c4636d.png

为了保持熟练度一定要多去sqlzoo逛一逛,熟能生巧~

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值