MYSQL数据库mysql的左右内连接用法实例
《MYSQL数据库mysql的左右内连接用法实例》要点: 本篇章节讲解mysql的左右内连接用法.分享给大家供大家参考.具体如下:MYSQL应用 用个例子来解析下mysql的左连接,右连接和内连接 create table user_profile ( id decimal(18),name varchar(255) ) ; insert into user_id values (1); insert into user_id values (2); insert into user_id values (3); insert into user_id values (4); insert into user_id values (5); insert into user_id values (6); insert into user_id values (1); insert into user_profile values (1,"aa"); 一. 左连接: mysql> select a.id id,'N/A') name from user_id a left join user_profile b on a.id = b.id;??? +------+------+ | id?? | name | +------+------+ |??? 1 | aa?? | |??? 2 | bb?? | |??? 3 | cc?? | |??? 4 | dd?? | |??? 5 | ee?? | |??? 5 | EE?? | |??? 6 | N/A? | |??? 1 | aa?? | +------+------+ 8 rows in set (0.00 sec) user_id居左,故谓之左连接. 这种情况下,以user_id为主,即user_id中的所有记录均会被列出.分以下三种情况:MYSQL应用 1. 对于user_id中的每一条记录对应的id如果在user_profile中也恰好存在而且刚好只有一条,那么就会在返回的结果中形成一条新的记录.如上面1,2,3,4对应的情况. 不符合上面三条规则的记录不会被列出.MYSQL应用 比如,要查询在一个相关的表中不存在的数据,通过id关联,要查出user_id表中存在user_profile中不存在的记录: 二. 右连接MYSQL应用 user_profile居右,故谓之右连接. 这种情况下,以user_profile为主,即user_profile的所有记录均会被列出.分以下三种情况:MYSQL应用 1. 对于user_profile中的每一条记录对应的id如果在user_id中也恰好存在而且刚好只有一条,那么就会在返回的结果中形成一条新的记录.如上面2,4,5对应的情况. 不符合上面三条规则的记录不会被列出.MYSQL应用 三. 内连接MYSQL应用 MySQL内连接的数据记录中,不会存在字段为NULL的情况.可以简单地认为,内链接的结果就是在左连接或者右连接的结果中剔除存在字段为NULL的记录后所得到的结果,另外,MySQL不支持full join +------+------+------+ | id?? | id?? | name | +------+------+------+ |??? 1 |??? 1 | aa?? | |??? 1 |??? 1 | aa?? | |??? 2 |??? 2 | bb?? | |??? 3 |??? 3 | cc?? | |??? 4 |??? 4 | dd?? | |??? 5 |??? 5 | ee?? | |??? 5 |??? 5 | EE?? | +------+------+------+ 7 rows in set (0.00 sec) mysql> select * from user_id a,user_profile b where a.id = b.id;??????????????????? +------+------+------+ | id?? | id?? | name | +------+------+------+ |??? 1 |??? 1 | aa?? | |??? 1 |??? 1 | aa?? | |??? 2 |??? 2 | bb?? | |??? 3 |??? 3 | cc?? | |??? 4 |??? 4 | dd?? | |??? 5 |??? 5 | ee?? | |??? 5 |??? 5 | EE?? | +------+------+------+ 7 rows in set (0.00 sec) mysql> select *? from user_id a join user_profile b on a.id = b.id;???? +------+------+------+ | id?? | id?? | name | +------+------+------+ |??? 1 |??? 1 | aa?? | |??? 1 |??? 1 | aa?? | |??? 2 |??? 2 | bb?? | |??? 3 |??? 3 | cc?? | |??? 4 |??? 4 | dd?? | |??? 5 |??? 5 | ee?? | |??? 5 |??? 5 | EE?? | +------+------+------+ 7 rows in set (0.00 sec) 希望本文所述对大家的MySQL程序设计有所帮助.MYSQL应用 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Mysql实例解析:内联,左外联,右外联,全连接,交叉连接的区别
- Mysql学习mysql中int、bigint、smallint 和 tinyint的区别详
- MYSQL数据库mysql免安装版的实际配置方法
- php – 如何在MySQL数据库中存储HTML颜色代码,然后搜索一系
- mysql – 使用JSON而不是规范化数据,这种方法是否正确?
- Mysql必读mysql 字符串长度计算实现代码(gb2312+utf8)
- 如何使用运行MySQL构建Docker容器?
- Mysql实例在MySQL中使用STRAIGHT_JOIN的教程
- MySQL优化方向之查询缓存的介绍,提升我们的数据库性能
- Mysql实例Linux下启动多个mysql服务器例子