1 MySQL基础
1.1 关系型数据库介绍
1.2 MySQL连接
1.3 引擎类型及区别
1.4 MySQL数据类型
2 查看数据库基本信息
2.1 基本语句
2.2 其他补充语句
3 对表的增(INSERT)、删(DELETE)、查(SELECT)、改(UPDATE)
3.1 查询数据(SELECT)
3.2 更新数据(UPDATE)
3.3 增加数据(INSERT)
3.4 删除数据(DELETE)
3.5 扩展知识
4 复杂XXXX
5 常用函数
5.1 字符串函数
5.2 聚合函数
6 子查询和联结
6.1 子查询
6.2 联结
7 组合查询和全文本搜索
8 视图和存储过程
8.1 视图
8.2 存储过程
9 游标、触发器和事务管理
9.1 游标
9.2 触发器
9.3 事务
10 索引和性能分析
10.1 索引
11 MySQL高级知识
11.1 MySQL锁机制介绍
12 MySQL进阶知识
13 MySQL维护、安全管理和其他
13.1 MySQL关键字和保留字(5.7版本)

子查询

2018-04-02 14:59:51
linefo
570
最后编辑:linefo 于 2018-04-02 15:46:07


子查询比较消耗性能。
在程序开发中,要注意使用。


写在前面


a表:


b表:


用子查询作为条件


(下面这条语句等同于 SELECT `id` FROM `b` WHERE `u_id` IN ('101', '102', '103'); )

将子查询作为表使用


(这种情况需要给子查询一个临时表名,下面给的名字是tmp_table)


其他使用方式


1.

(从a获取u_id列表,然后以每个u_id为分组,按每个分组去b表里面拿到该分组u_id的统计行数,这里as是给列的别名)