游客您好
第三方账号登陆
  • 点击联系客服

    在线时间:8:00-20:00

    客服电话

    400-1565-661

    电子邮件

    bs@bigsaas.com
Lv.3 中级会员
21号会员,0活跃度,2016/12/28 加入学习
  • 49发帖
  • 49主题
  • 0关注
  • 0粉丝
这个人很懒,什么也没有留下。
优秀讲师更多
课堂交流更多

【转载】Mysql 连接的使用(中)

[复制链接]
简简单单 发表于 2017-2-21 13:20:50 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
接下来我们就使用MySQL的INNER JOIN(也可以省略 INNER 使用 JOIN,效果一样)来连接以上两张表来读取runoob_tbl表中所有runoob_author字段在tcount_tbl表对应的runoob_count字段值:
mysql> SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a INNER JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;+-----------+---------------+--------------+| runoob_id | runoob_author | runoob_count |+-----------+---------------+--------------+|         1 | John Poul     |            1 ||         3 | Sanjay        |            1 |+-----------+---------------+--------------+2 rows in set (0.00 sec)
以上 SQL 语句等价于:
mysql> SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a, tcount_tbl b WHERE a.runoob_author = b.runoob_author;+-------------+-----------------+----------------+| runoob_id | runoob_author | runoob_count |+-------------+-----------------+----------------+|           1 | John Poul       |              1 ||           3 | Sanjay          |              1 |+-------------+-----------------+----------------+2 rows in set (0.01 sec)mysql>

                               
登录/注册后可看大图

MySQL LEFT JOIN
MySQL left join 与 join 有所不同。 MySQL LEFT JOIN 会读取左边数据表的全部数据,即便右边表无对应数据。
实例
尝试以下实例,以 runoob_tbl 为左表,tcount_tbl 为右表,理解MySQL LEFT JOIN的应用:
root@host# mysql -u root -p password;Enter password:*******mysql> use RUNOOB;Database changedmysql> SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a LEFT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;+-------------+-----------------+----------------+| runoob_id | runoob_author | runoob_count |+-------------+-----------------+----------------+|           1 | John Poul       |              1 ||           2 | Abdul S         |           NULL ||           3 | Sanjay          |              1 |+-------------+-----------------+----------------+3 rows in set (0.02 sec)
以上实例中使用了LEFT JOIN,该语句会读取左边的数据表runoob_tbl的所有选取的字段数据,即便在右侧表tcount_tbl中没有对应的runoob_author字段值。

                               
登录/注册后可看大图





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

全国统一客服电话
400-1565-661

24x7小时免费咨询

  • 关注官方微信

  • QQ在线客服1

    在线联系

    QQ在线客服2

    在线联系
  • 云萌主
  • 北京市大兴区鸿坤云时代
Powered by Discuz!X3.4Licensed ©2018-2020 云萌主( 京ICP备18052714号 )