postgres sql 多表联合查询

您所在的位置:网站首页 数据库两表关联查询 postgres sql 多表联合查询

postgres sql 多表联合查询

2024-07-17 04:00| 来源: 网络整理| 查看: 265

98beccf6ba2f83f0ab96cdc3999e0375.png

前期学的都是单张表中查询,这一课将开始学习从多张表查询。

1、表的加法

(1)定义:合并两个或多个的表,这些表的列名师一样的

(2)union 两张表联结并删除重复值

8301ec1775c9f491f4d30a0069608eb4.png

(3)union all 两张表 两张表联结不会删除重复值

7e6874ad0451cb6c7f63af8207307ad1.png

2、表的联结

(1)定义:表和表之间的关系在数据库里叫做联结(join),多表查找也是通过联结来实现的

9e4c2ca0ab45bccc008ef481c9bfafd1.png

(2)交叉联结(cross join)表中的每一行都与另一个表中的每一行联结在一起

(3)内联结(inner join)查找出同时存在两张表中的数据

(4)左联结(left join)

(5)右联结(right join)

3、联结应用案例

(1)如何用SQL 解决业务问题

1)翻译成大白话

2)写出分析思路

3)写出对应的sql语句

(2)练习

1)/*查询所有学生的学号、姓名、选课数、总成绩*/

3fb10d2096ae30074807d248b0e01486.png

2)/*查询平均成绩大于85的所有学生的学号、姓名和平均成绩*/

3bdc6b62ae233244b68aca30a706e78f.png

3)/*查询学生的选课情况:学号,姓名,课程号,课程名称*/

2094cb05231a7dee39579220f722e0a1.png

c2bb70b904f5dc8cb8e2e784ad302513.png

4、case表达式

(1)定义:当有多种情况需要条件判断的时候可以使用case表达式,只会返回一个值

(2)练习

1)/*查询每门课的及格人数和不及格人数*/

eda3284d37627a0b7a863ae33718ba60.png

或者

e1275d905e86fc2e7e65b36c7147be66.png

2)/*使用分段[100-85],[85-70],[70-60],[



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3