MySQL数据操作与查询-内连接

1. 交叉连接(笛卡尔积)Cross join

交叉连接(Cross join),又称“笛卡尔连接(Cartesian join)” 或“叉乘(Product)”,它是所有类型的内连接的基础。如果把表视为行记录的集合,那么交叉连接即返回这两个集合的卡迪尔积,返回到结果集合中的数据行数等于第一张表符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。

语法:select*from line CROSS JOIN vehicle 等价于:select*from line,vehicle

2. 内连接

内连接是应用程序中非常常见的连接操作,它一般都是默认的连接类型。内连接基于连接谓词,它将两张表(如A和B)的列组合在一起,产生新的结果表。

语法:SELECT fieldlist FROM table1 [INNER] JOIN table2 ON table.column1=table2.column2 [where condition]

注意:连接依据的列可能包含null值,null 值不与任何值匹配(甚至和它本身)

3. 自然连接

自然连接(Natural Join)是一种特殊的内连接,它要求相连接的两张表的连接依据必须是相同的字段(字段名相同,字段属性相同)。

语法:SELECT fieldlist FROM table1 NATURAL JOIN table2[where condition]

4. 多表查询

4.1 多表连接查询方法 

如果查询的信息来源于多张表,则可通过两两连接的方式建立多表连接查询。

语法:SELECT fieldist FROM table1 JOIN table2 ON table1.coumn1=table2.column2_1JOIN table3 on table2.column2_2=table3.column3[where condition]

4.2 简单多表连接查询

如果在FROM子句中,直接列出所有要连接的表,然后在WHERE子句中指定连接条件,此为简单多表查询,它与内连接相同。

两表连接查询

语法:SELECT fieldlist FROM table1,table2 WHERE table1.column1=table2.column2[and 其他条件]

三表连接查询

语法:SELECT fieldlist FROM table1,table2,table3 where table1.column1=table2.column2_1 and table2.column2_2=table3.column3[and 其他条件]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值