MYSQL学习笔记2 (连接查询)

MYSQL学习笔记2 (连接查询)

1.连接查询分类(连接方式)

  内连接:
    等值连接
    非等值连接
    自连接
  外链接:
    左链接
    右连接
  全连接:

1.1.内连接和外连接的区别

  内连接:
    假设A和B表进行连接,使用内连接的话,凡是A表和B表能够匹配上的记录查询回来,就是内连接,AB两表没有主副之分。
  外连接:
    假设A和B表进行连接,使用外连接的话,AB两张表中有一张表是主表,一张表是副表。主要查询主表中的数据,捎带查询副表的数据,当副表的数据没有和主表的数据匹配上时,副表自动模拟出NULL与之匹配。

2.笛卡尔积现象

  当两张表进行连接查询时,没有任何条件进行限制,最终的查询结果条数为两张表记录条数的乘积。

3.表的别名

  当两张或更多张表中有相同的字段时,为了提高执行效率,需要给表起别名。
例如:
  select a.字段,b.字段,… from 表1 a,表2 b;

4.避免笛卡尔积现象

  避免笛卡尔积现象的方法:加条件进行过滤。
  注意:加条件进行过滤后不会减少匹配的次数,只是显示的是有效记录

例如:
  select a.字段,b.字段,… from 表1 a join 表2 b on a.字段=b.字段;

4.内连接

4.1 等值连接

	select 
		a.字段,
		b.字段,
		..... 
	from 
		表1 a 
		join 
		表2 b 
	on                   //条件
		a.字段=b.字段;

4.2 非等值连接

  连接条件中的关系是非等量关系

	select 
		a.字段,
		b.字段,
		..... 
	from 
		表1 a 
		join 
		表2 b 
	on                   //条件
		a.字段  between b.字段1 and b.字段2

4.2 自连接

  一张表看成两张表,自己连自己。
  自连接的条件可以是等量关系也可以是非等量关系。

	select 
		a.字段,
		b.字段,
		..... 
	from 
		表1 a 
		join 
		表1 b 
	on                   //条件
		a.字段  between b.字段1 and b.字段2;
		或
		a.字段=b.字段;

5.外连接

5.1.左连接

  左边的表是主表

	select 
		a.字段,
		b.字段,
		..... 
	from 
		表1 a 
	  left join 
		表1 b 
	on                   //条件
		a.字段  between b.字段1 and b.字段2;
		或
		a.字段=b.字段;

5.2.右连接

  右边的表是主表

	select 
		a.字段,
		b.字段,
		..... 
	from 
		表1 a  
	  right join 
		表1 b 
	on                   //条件
		a.字段  between b.字段1 and b.字段2;
		或
		a.字段=b.字段;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值