两表联查多个关联字段_数据分析学习之路(七)多表联查

本文详细介绍了数据库中的多表联查方法,包括一对一、一对多、多对多关系,以及如何建立和管理这些关系。接着,讨论了多表查询的不同方式,如合并结果集(union/union all)、内连接、外连接、多表连接和子查询的使用,还特别讲解了自然连接和自连接的概念与应用。内容深入浅出,是学习数据分析和数据库操作的宝贵资料。
摘要由CSDN通过智能技术生成

37、表之间存在的关系

一对一/一对多

多对多案例:学生选课,一个学生可以选修多门课,每门课也可以有多个学生选择,在多对多关系中,一般需要引入两个外键

多对多关系的建立方法

1、创建课程表

Create table course(cid int primary key auto_increment,cname varchar(30),stu_id varchar(30),stu_name);

2、创建学生表

Create table student(stu_id primary key auto_increment,stu_name varchar(30),majored-in-course varchar(30),cid int);

3、创建学生与选课关系表

Create table course_student_rel(

Cid int,

Stu_id int,

);

4、设置外键

Alter table course_student_rel add constraint fk_cid foreign key(cid) references course(cid);

Alter table course_student_rel add constraint fk_stu_id foreign key(stu_id) references student(stu_id);

21b6e7a82b57353f230f147993ed487c.png

38、多表查询

多表查询的步骤

1、合并结果集(union/union all)

合并结果集本质上就是把两个select语句的查询结果合并到一起

合并结果集有两种方式,分别是union和union all。使用union合并时会去除重复记录,而用union all合并时不会去除重复记录。

语法结构:

select*from 表1 union select from 表2;

select*from 表1 union all select from 表2;

注意:被合并的两张表其列数和列类型必须相同

2、连接查询

如果简单地使用select同时查询两张表,那么只会得到笛卡尔积

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值