子查询
子查询指嵌套在查询内部,且必须出现在圆括号内。子查询可以包含多个关键字或条件如:DISTINCT,GROUP BY, ORDER BY ,LIMIT,函数等。子查询的外层查询可以是UPDATE,INSERT,UPDATE,SET或DO。分成三类
-
使用比较运算符的子查询
如果比较的子查询返回的是集合的话,可以用ANY, SOME, ALL 关键字修饰,去做匹配ANY和SOME用法相同,都表示集合中的任意一个,ALL的话,则表示要符合子查询中所有的值
- 使用[NOT] IN 的子查询
- 使用[NOT] EXIST的子查询
多表更新
通过连接,进行多表更新
连接
- 连接语法结构
table_reference {[ INNER | CROSS ] JOIN | { LEFT | RIGHT } [ OUTER ] JOIN } table_reference ON conditional_expr
- 连接的类型
-
内连接(join, inner join, cross join): 显示左表及右表符合连接条件的记录,即并集。
- 左外连接(left join):显示左表的全部记录以及右表的符合连接条件的
- 右外连接(right join): 显示右表的全部记录以及左表符合连接条件的
可以超过两张表连接 -
自身连接实现无线分类。即id, name, parent_id.
-