oracle case when 判断没有数据_sql 数据分析5:多表查询

  • 主要内容

一. 表的合并:

8b90fd5024587ecccf5006daa5c36712.png
  1. union: 去除重复行

6c21b04fcb65d4b174e10d8e9733528e.png

2. union all: 保留重复行

ac33f16ffbe193affdc14845f7ac1d8a.png

二. 表的联结:

1.通过列产生关系

92d2965f3dd625589727fe8733343bb4.png

1)交叉联结cross join: 例如扑克牌花色

b2ed4f4f6360942085eb9409463e96ce.png

2) 内联结inner join: 查找出同时存在于两张中的数据

932f60e72d0dd38d7c03da7b14c76209.png

例:

1e4a2e7c2ea8b00f3d890430de72b54a.png

sql语句:

9784e607cccd950ca7894e7b02c1ed1c.png

3)左联结left join: 将左侧表的数据全部取出

700ed32e02bcb8a7738b39cf705cf5ab.png

sql语句:

c252964a761e0e785781a06e7d24cca4.png

4)右联结right join:将右侧表的数据全部取出

8aff57479395bb6afbbe441945f0cc9d.png

sql语句:

23383a3c0590168bed79ca74d4039655.png

5)全联结full join: 取出两表中的全部数据(Mysql不支持)

【汇总】

eb338503c8b921090a840bef4fb5e06c.png

三. 联结应用案例

1.

b1cb3942ea7810f65b58600988d42a3f.png

0473934de2b19c23eaace36f3427d802.png

60c52713beaac4e8f66d4a4d3a053811.png

2.

d4a6e6f0e029df4dc2b83eabf1e3b13e.png

91a5ec0f08c2a25857dff415f55ca848.png

db1d24b4bd42f4b9cab8357e0eb26c0c.png

3. 三张表的联结

24fc03d4733ebd41c55ddb74bf6bc07a.png

556fb2fd886a612b0b5865f0d1c88fc2.png

四. case表达式:当有多种情况需要条件判断时

1.

case when <判断表达式> then <表达式>
     when <判断表达式> then <表达式>
     when <判断表达式> then <表达式>
     ……
     else <表达式>
end

例:

828f6498e18aa4deae092be946a98ace.png

2.

1)查找每门课程及格人数和不及格人数

a9191e92d2af334823bd2ea9a377c061.png

【注】1)else可省略; 2)end不能省略; 3)case可以出现在sql任意子句中

2) 使用分段[100-85], [85-70], [70-60], [<60] 来统计各科成绩,分别统计:各分数段人数,课程号和课程名称

a3b112e85a05372b2b82cb8748556920.png
  • sqlzoo

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值