MySql学习心得:连接查询

表与表之间的关系:

1.一对多

一对多的建表原则:在多的一方创建一个字段,字段作为外键指向一方的主键.

2.多对多

多对多的建表原则:需要创建第三张表,中间表中至少要有两个字段,这两个字段分别作为外键指向各自一方的主键。

3.一对一

一对一的建表原则:主键对应,让一对一的双方的主键进行建立关系,唯一且非空。

多表查询:

1.合并结果集

作用:合并结果集就是把两个select语句的查询结果合并到一起
合并结果集有两种方式:
union:去除重复记录;
union all:不去除重复记录;
被合并的两个结果列数必须相同类型可以不同。

2.连接查询

作用:求出多个表的乘积,可以通过过滤筛选需要的数据。添加where限定语句查询出两张表有关系的列相同的数据。

3.子查询

子查询即为嵌套查询,如果一条语句中包含两个即以上select,那么就是子查询语句,里面的查询叫做子查询,外面的查询叫做父查询,一般是先执行子查询,后执行父查询。
子查询出现的位置:
a:where后,作为被查询条件的一部分,同时还可使用以下关键字:any(跟结果集里面的部分多行单列进行比较,满足就返回true);all(跟所有的进行比较,都满足才返回true)
b:from后,作临时表

内连接:

遵循方式:select * from 表1 inner join 表2 on 表1.列名=表2.列名.
特点:查询结果必须满足条件

外连接:

a:左外连接:以左表为主表,右表为从表。
左连接是先查询出左表,然后查询右表,左表中满足条件和不满足条件都显示出来,右边不满足条件的为null
b:右外连接:以右表为主表,左表为从表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值