mysql左联和右联_MySQL左联、右联查询接where和and条件的区别
之前一直单用左联查询两张表的时候没有发现,后面拼接where或者and查询出来的结果是有区别的。直到有一次我用左联接查询作为子查询的时候才发现用where和用and查询出来的结果不一样。
首先on的条件是在连接生成临时表时使用的条件, 左联则以左表为基表,不管on中的条件真否,都会返回左表中的记录 。
而where条件是在临时表生成好后,再对临时表过滤 。因此当左联查询作为子查询的时候,结果集只显示了满足where条件的数据;当and作为条件,则是进行韦恩运算时,对数据进行操作,因此当左联作为子查询的时候,结果集会受到查询字段是否是基表字段的影响。
可能文字描述的不是很好理解,上两张比较图mysql> select * from a left join b on a.sid=b.sid and a.sid=1;+----+-----+------+------+--------+| id | sid | type | sid | remark |+----+-----+------+------+--------+| 1 | 1 | a | 1 | A || 2 | 1 | b | 1 | A || 3 | 2 | c | NULL | NULL || 4 | 3 | d | NULL | NULL |+----+-----+------+------+--------+mysql> select * from a left join b on a.sid=b.sid where a.sid=1;+----+-----+------+-----+--------+| id | sid | type | sid | remark |+----+-----+------+-----+--------+| 1 | 1 | a | 1 | A || 2 | 1 | b | 1 | A |+----+-----+------+-----+--------+
mysql左联和右联_MySQL左联、右联查询接where和and条件的区别相关推荐
- mysql对所有id求积_MySQL学习笔记(二)—查询
一.多表连接查询 新建两张表t_user.t_order. 1.内连接 返回满足条件的所有记录. (1)显式内连接 使用inner join关键字,在on子句中设定连接条件. SELECT ...
- mysql 多表 三表 删除_mysql 多表join查询索引优化
数据准备 CREATE TABLE IF NOT EXISTS `class` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `card` int( ...
- mysql的分页怎么不对_mysql一对多关联查询分页错误问题的解决方法
xml问价中查询数据中包含list,需要使用collection .... .... 这样的查询系统封装的通用分页查询是不对的,所以需要自己sql中加入分页解决 SELECT you.nick_nam ...
- mysql一对多前端实现_MySQL实现一对多查询的代码示例
本篇文章给大家带来的内容是关于MySQL实现一对多查询的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 这次要实现的是一对多查询,使用 MySQL 的 group_conca ...
- mysql更新数据索引慢_mysql添加索引,查询反而变慢
依照楼主的数据,我也造了400万数据: mysql> select * from index_test limit 5; id1 id2 11111 11111 22222 22222 1111 ...
- mysql事务模式怎么查_Mysql InnoDB中的查询事务模式与锁定select ..for update
在 InnoDB 的行锁中使用所谓的 next-key locking.这就意味着,除了索引记录外,InnoDB 还可以锁定该索引记录前部"间隙" ('gap') 以阻塞其它用户在 ...
- mysql常用四种连接_MySQL四种连接查询
内连接 交集 inner join 或者 join select * from person join card on person.cardId = card.id; +------+------- ...
- mysql统计记录数据库设计_MYSQL数据库设计,查询规范
MySQL数据库 (一)建表规约 1.[强制]表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是unsignedtinyint(1表示是,0表示否) .说明:任何字段如果为非负数,必须是 ...
- mysql myisam 主键关联_MySQL中myisam和innodb的主键索引有什么区别?
MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址.下图是MyISAM索引的原理图: 这里设表一共有三列,假设我们以Col1为主键,则上图是一个MyISAM表的主索 ...
- mysql怎么做排名并列_MySQL实现排名并查询指定用户排名功能,并列排名功能
MySQL实现排名并查询指定用户排名功能,并列排名功能 表结构: CREATE TABLE test.testsort ( id int(11) NOT NULL AUTO_INCREMENT, ui ...
最新文章
- HTTP请求头中各字段解释
- 初二下册计算机考试试题,2017下半年计算机等级考试二级Java模拟试题及答案(18)...
- 碰撞,处理碰撞,发射 Learn Unreal Engine (with C++)
- 天池 在线编程 有效的字符串
- 带你玩转Logview: MaxCompute Logview参数详解和问题排查
- 适合计算机类研究生参加的比赛
- vs2008激活、序列号
- SpreadJS 2021 V14.1 Crack
- php laravel 中文手册,Laravel 5 中文手册(二):配置
- 手机疑似中毒,恢复到出厂设置也不管用,还好有RE文件浏览器
- QT软件开发: 基于FFMPGE设计的流媒体播放器(rtmp/rtsp)
- python 求某月的天数
- 【NC204267】牛牛染颜色
- perf trace跟踪系统调用
- PLC运动控制系列之机械回原点(back to origin)
- 养生之道---六字气决
- 【Java】进制转换
- 数据结构的学习_4.2 矩阵的压缩存储(对称矩阵)
- python抓取网站访客手机号_三网运营商大数据实时截流网站访客
- java毕业设计汽车租赁系统演示录像源码+lw文档+mybatis+系统+mysql数据库+调试
热门文章
- 我喜欢的乐队-Descending
- 导致页面布局混乱的几个元凶
- 操作系统锁的实现方法有哪几种_深入理解多线程(四)——Moniter的实现原理...
- qt(qu chu biao ti lan /窗口非暴力置顶)
- 【Docker系列】从头学起 Docker——docker run 命令详解
- 220913_100620-华为全球校园AI算法赛事(推荐方向):广告-信息流跨域CTR预估
- 手机拍照反差对焦、相位对焦和激光对焦系统解析
- 微信突破版本限制永久设置透明/半透明头像
- 踩坑记32 vue3 拖拽边缘调整侧边栏宽度 拖拽条组件 宽度限制
- 鸡啄米:C++编程入门系列之一(进制数)