美文网首页
mysql连表查询

mysql连表查询

作者: ZMRWEGo | 来源:发表于2019-04-11 15:08 被阅读0次

1. 交叉连接 (cross join)

假设有t1和t2两张表,交叉连接最简单的即是
select * from t1,t2;它会把t1表中的每一行记录和t2表中的所有记录相关联。
我们把这种没有任何限制的条件的查询方式称之为交叉连接,可以看到,任意一个表的数据增加一行,其交叉连接的查询记录都会增加很多。

2. 内连接

内连接表示两张表中同时符合某种条件的数据
select * from t1,t2 where t1.id = t2.id;
这种写法其实是一种隐式的内连接写法,可转化为
select * from t1 inner join t2 on t1.id = t2.id; (等值连接)
select * from t1 inner join t2 on t1.id > t2.id (不等连接)
这种连接用on指明条件

3. 外连接

外连接分为两种,左外连接与右外连接,我们只要搞明白其中的任意一个的意思即可。
select * from t1 left join t2 on t1.id = t2.id;
这里以t1为主表,t2为从表,所以搜索出来的数据会有t1的所有数据即使t2没有数据,也会列出来,这时相关字段的值为null
显示的时候,哪个表在前,该表的列就在前
还有一种情况:就是当t1中只有一行数据,但t2中有多行数据时,这时候也会显示多行数据。

4. 多行查询

联合查询比较容易理解,把联合查询理解成把多个查询语句的查询结果集中在一起显示。
select * from t1 union select * from t2;
这里要求select的列数要相等,同时字段名与t1的相同

5. 全连接

全连接可以理解为没有主表之分(相对于外连接),两个表的数据都要查询出来
mysql中没有全连接,可以先左连接,然后右连接,再将两者的查询记录union起来。

相关文章

  • mysql连表查询

    1. 交叉连接 (cross join) 假设有t1和t2两张表,交叉连接最简单的即是select * from ...

  • mysql_连表查询

    连表查询 连接查询包括合并、内连接、外连接和交叉连接,如果涉及多表查询,了解这些连接的特点很重要。只有真正了解它们...

  • MySQL in 走不走索引?

    1. 连表查询或采用临时表会走索引 参考:解决MySQL中IN子查询会导致无法使用索引问题 2. 如果 in ...

  • sql _ 连表查询 & 授权

    一,连表查询 1)连表 简单查询_where 2) 连表 多种方式查询 3)子查询 综合以上查询示例 二,DCL数...

  • 2019-02-22

    mySQL Navicat for mySQL 关系型数据库:用表传数据 如何建表:查询→新建查询 注释: -- ...

  • 2021-01-20

    Mysql查询excel表

  • MySQL join连表查询示例

    先给出一些数据库表,方便大家直观感受。当前需求:在后台展示 某俱乐部在某时间段的玩家个人信息以及消耗信息。 Clu...

  • MySQL连表查询之索引

    MySQL一次连表查询索引优化 新上线的功能出问题,发现是慢SQL,测试环境执行语句如图一所示,需要43秒。图一:...

  • Mysql学习6——连表查询

    连表查询:Join连接(默认为内部链接:INNER JOIN) 基本语句: 直接全部查询 从上面的返回结果看出,返...

  • mysql2——11-21

    mysql2 mysql查询 查询整个表 从表查精确查询字段 精确查询多个字段AND为必传字段,key和value...

网友评论

      本文标题:mysql连表查询

      本文链接:https://www.haomeiwen.com/subject/ksutwqtx.html