mysql连接查询(左连接,右连接,内连接)

 更新时间:2017年07月22日 15:17:44   投稿:lqh  
这篇文章主要介绍了mysql连接查询(左连接,右连接,内连接)的相关资料,这里举例说明如果使用及附实例代码,需要的朋友可以参考下

一、mysql常用连接

  • INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
  • LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
  • RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
mysql> select * from name_address;
+----------+------+----+
| address | name | id |
+----------+------+----+
| 西北一路 | 张三 | 1 |
| 西北二路 | 李四 | 2 |
| 西北三路 | 王五 | 3 |
+----------+------+----+
3 rows in set

mysql> select * from name_age;
+-----+--------+----+
| age | name  | id |
+-----+--------+----+
| 18 | 张三  | 1 |
| 20 | 王五  | 2 |
| 21 | 路人甲 | 3 |
+-----+--------+----+
3 rows in set

1、INNER JOIN

INNER JOIN与一般的连表查询一致,即使用逗号隔开的查询方式。

mysql> SELECT a.`name`,a.age,b.address FROM name_age a INNER JOIN name_address b WHERE(on) a.`name`=b.`name`;
+------+-----+----------+
| name | age | address |
+------+-----+----------+
| 张三 | 18 | 西北一路 |
| 王五 | 20 | 西北三路 |
+------+-----+----------+
2 rows in set

2、LEFT JOIN

以左边的数据表为准

mysql> SELECT a.`name`,a.age,b.address FROM name_age a left JOIN name_address b on
 a.`name`=b.`name`;
+--------+-----+----------+
| name  | age | address |
+--------+-----+----------+
| 张三  | 18 | 西北一路 |
| 王五  | 20 | 西北三路 |
| 路人甲 | 21 | NULL   |
+--------+-----+----------+
3 rows in set

3、RIGHT JOIN

与LEFT JOIN相反,即以右边的数据为准

mysql> SELECT b.`name`,a.age,b.address FROM name_age a right JOIN name_address b on a.`name`=b.`name`;
+------+------+----------+
| name | age | address |
+------+------+----------+
| 张三 | 18  | 西北一路 |
| 王五 | 20  | 西北三路 |
| 李四 | NULL | 西北二路 |
+------+------+----------+
3 rows in set

以上就是MySQL 连接查询的资料整理,大家如有疑问可以留言讨论,共同进步,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • 5分钟了解MySQL5.7中union all用法的黑科技

    5分钟了解MySQL5.7中union all用法的黑科技

    本文带领大家通过5分钟了解MySQL5.7中union all用法的黑科技,需要的朋友可以参考下
    2017-04-04
  • MySQL中的datediff()方法和timestampdiff()方法的应用示例小结

    MySQL中的datediff()方法和timestampdiff()方法的应用示例小结

    在MySQL中,DATEDIFF()函数和TIMESTAMPDIFF()函数用于计算日期和时间之间的差异,TIMESTAMPDIFF()函数返回的结果是整数,但你可以通过在计算过程中使用适当的除法来获得所需的小数部分,本文介绍MySQL中的datediff()方法和timestampdiff()方法的应用,感兴趣的朋友一起看看吧
    2023-12-12
  • MySQL 管理

    MySQL 管理

    MySQL 管理...
    2006-12-12
  • MySQL InnoDB表空间加密示例详解

    MySQL InnoDB表空间加密示例详解

    这篇文章主要给大家介绍了关于MySQL InnoDB表空间加密的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-08-08
  • MySql完整卸载的四个步骤详解

    MySql完整卸载的四个步骤详解

    有时候MySQL不能完全卸载,这时候必须通过一些途径删除掉注册表和一些残余的文件,然后才能重新安装才可以成功,下面这篇文章主要给大家介绍了关于MySql完整卸载的四个步骤,需要的朋友可以参考下
    2022-06-06
  • mysql共享锁与排他锁用法实例分析

    mysql共享锁与排他锁用法实例分析

    这篇文章主要介绍了mysql共享锁与排他锁用法,结合实例形式分析了mysql共享锁与排他锁相关概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2019-09-09
  • MySQL5.7.03 更换高版本到MySQL 5.7.17安装过程及发现问题解决方案

    MySQL5.7.03 更换高版本到MySQL 5.7.17安装过程及发现问题解决方案

    这篇文章主要介绍了MySQL5.7.03 更换高版本到MySQL 5.7.17安装过程及发现问题解决方案,需要的朋友可以参考下
    2017-08-08
  • Mysql更改默认引擎为Innodb的步骤方法

    Mysql更改默认引擎为Innodb的步骤方法

    mysql默认是关闭InnoDB存储引擎的使用的,而Mysql默认引擎是MyISAM,而MyISAM并不支持事务处理,因为最近项目中的需要所以要更换引擎,通过查找网上的资料后解决了,现在将步骤方法分享给大家,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-12-12
  • Mysql中的DCL权限详解

    Mysql中的DCL权限详解

    这篇文章主要介绍了Mysql中的DCL详解,DCL是数据控制语言,用来管理用户、控制数据库的访问权限,就控制有哪些用户可以访问数据库,可以访问数据库的哪些内容,需要的朋友可以参考下
    2023-08-08
  • mysql出现Error performing load command的解决方法

    mysql出现Error performing load command的解决方法

    一般就是数据库表字段类型问题,大家参考下面的方法解决下
    2008-06-06

最新评论