MySQL——多表查询

连接查询

内连接

  • 说明

    假设A表和B表进行内连接,那么A,B表之间处于平等关系,如果不满足连接的要求,则不显示该项数据

  • 等值连接

    用法:
    select 
    	a.列名,b.列名
    from
    	表名 a	a,b代表这个表的简称,这段语句中可以用a,b代表这两个表,增加了可读性,引用也方便
    (inner)join		这里inner表示内连接,可写可不写,增加可读性
    	表名 b
    on
    	连接条件(等值连接:判断相等)
    
  • 非等值连接

    用法:
    select 
    	a.列名,b.列名
    from
    	表名 a	
    join	
    	表名 b
    on
    	连接条件(非等值连接:判断是否在区间内例如:between...and...)
    
  • 自连接(自己连接自己)

    用法:
    select 
    	a.列名,b.列名
    from
    	表A a	
    join	
    	表A b
    on
    	连接条件
    

外连接

  • 说明

    假设A表和B表进行外连接,A,B表中有一个作为主表,另外一个作为副表,即使数据不匹配的话,主表内容还是正常显示,只是副标中的字段为null

  • 左连接

    用法:
    select 
    	...
    from 		
    	表A a			此时表A作为主表
    left (outer) join 	outer可省略,表示外连接,增加可读性
    	表B b
    on
    	连接条件
    
    
  • 右连接

    用法:
    select 
    	...
    from 		
    	表A a			
    right join 	
    	表B b		此时表B作为主表
    on
    	连接条件
    
    

多表连接

  • 说明

    多表连接指的是超过两张表以上的连接

  • 写法

    只需要在join on后面接着写join on即可

    select
    	...
    from
    	...
    join
    	...
    on
    	...
    join	
    	...
    on	
    	...
    .....
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值