姓名代码查询_Data Science 之 SQL (五) -多表查询

30808bae99782199e1ebf37bd92df72d.png

拖延症害死人,还有两周开学,必须必须完成暑假定下的任务!加油~

主要内容:

fc095675d553104698243e04283a40b9.png

一.表的加法union

dfbb85844129fd995e1984ed1c52a3e6.png

d95c7960cebf7711f2990cbfe1979a7a.png
两张相同的表

d0e79150b3fb591a3eb475d44d4b495b.png

代码示例:

1.1

d0401234adb78678147d59bbce58bc1b.png

1.2

eb6daa8c84ed449e1e4690933dfcad2a.png

二 . 表的联结---结合多表以获取需要的数据

表的关系:

29c69c02e03482c5f8b6c9c9ffb8fbb8.png
  • Cross join
  • Inner join
  • Left join
  • Right join
  • Full join

2.1交叉联结(笛卡尔积)---其他联结的基础,类似扑克牌大小与花色的组合

ecd2c09243f60847cc4f11a5d58bb5bb.png

336673a43be8fb1b91bb5726dbd1a778.png

2.2内联结---取各表的公共部分的数据

2f42c2ad580f1e636f4093cd5824eec3.png
红色重叠部分

7476bfe992998fe5b17c2474efaa8575.png
运行过程

代码示例:

939f08a9dfcc0c7ec1aa2934dfe18417.png

2.3 左联结---以左边表所有数据为基础取出右边中相同的部分进行交叉联结

f83a4be0d00ed44c9412b2bad941df64.png
红色部分数据

4dadf2a51328eb0489aa8deeb63eea00.png
运行过程

代码示例:

b1d7ac3a205e3b53b0bb0d07940f72bb.png

Ps: where 语句可以取出除 inner join 外的部分数据,代码示例:

f22b257dcba16552ea19668fdd29a89b.png

2.4右联结---以右边表所有数据为基础取出左边中相同的部分进行交叉联结;

5c386aaa5e515e0595664e2adda36db0.png
代码示例

9f512dceac8e96afe5e8c2b4cb627221.png
运行过程

Ps: where 语句可以取出除 inner join 外的部分数据(纠正:is null 不是 = null)

6ef7254a2e008ca918b9f128d395fb86.png

2.5 全联接---MySQL不支持

bbd2a5b3887b1b406f2cfed862e8ebd3.png
运行结果示例

Attention: SQL 运行顺序牢记在心~

39b5b525783de60a64ff1b519bab239d.png

三 . 应用案例

三部曲:

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

3.1 Case study 1: 查询所有学生的学号,姓名,选课数,总成绩

60f56e046f0d44801d05e37a87ebdeae.png
分析思路

da5017370e437048ac9faf0ac6976c4b.png
代码示例

3.2 Case study 2:查询平均成绩大于85的所有学生的学号,姓名和平均成绩

fe6f557588239b32a5e6fc251e619ead.png
分析思路

16dc3082823447e6a7795adefbec2d70.png
代码示例

3.3 Case study 2:查询学生的选课情况包括学号,姓名,课程号,课程名称

7949491cd04ec224e5c5af2d3c6158f9.png
分析思路

35ef706bee14364debaf06c76a9ae72c.png
代码示例

来一个贴心的总结~

d47ea9f7706e74269bbcad0a8564e3a9.png

四 .case表达式

形如:

52a49654168747d3d8fe1d0bb6bcfcae.png

学以致用~

4.1判断学生成绩是否合格

090331d0919ec0864efb8eb65a5ca636.png

4.2查询每门课程的及格人数和不及格人数

6993b82a1257d1f505ef1eae230a3521.png

4.3分段统计各科成绩,以及各分数段人数,课程号,课程名称

708dd0baadf26c700b33def2c6307354.png

Ps:当用多个列分组时,这几个列的值全部相同才算一组

最后,记得多去sqlzoo逛逛~勤能补拙~加油~

最后的最后,以后打死我也不拖延了,太难受 !!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值