子查询与连接查询

子查询

1)、子查询是指出现在其他SQL语句内的SELECT子句

2)、子查询指嵌套在查询内部M且必须始终出现在圆括号内

3)、子查询可以包含多个关键字或条件,子查询的外围查询可以是: SELECT,INSERT,UPDATE,SET或DO,

4)、子查询返回值: 子查询可以返回标量,一行,一列或子查询

运算符

1)、比较运算符: =,>,<,<=,>=,<=>,<>,!=

NOT IN和IN关键字

EXISTS和NOT EXISTS关键字:EXISTS关键字检测查询是否有记录

声明: 1)、子查询必须放置在一对圆括号中,外面的一层查询通常称为父查询,里面的一层查询通常称为子查询

   2)、表连接可以使用子查询替换,但反过来却不一定,有的子查询不能用表连接来替换.子查询比较灵活、方便、形式多样、适合于作为查询的筛选条件,而表连接更适合于查看多表的数据.

AS 别名

运算符关键字ANYSOMEALL
>=,> 最小值 最小值 最大值
<,<= 最大值 最大值 最小值
= 任意值 任意值  
<>,!=     任意值

[NOT] IN=ANY运算符与IN等效

!=ALL或<>ALL运算符与NOT IN等效

[NOT] EXISTS: 如果子查询返回任何行,EXISTS将返回TRUE,否则为FALSE

连接:MySQL在SELECT语句,多表更新,多表删除语句支持JOIN操作

语法结构:

tbl_reference {[INNER|CROSS] JOIN|{LEFT|RIGHT} [OUTER] JOIN} tbl_rederence ON conditional_expr

数据表参照(table_reference)

tbl_name [[AS] alias] | tbl_subquery [AS] alias
1)数据表可以使用tbl_name AS alias_name或tbl_name alias_name赋予别名
2)tbl_subquery可以作为子查询使用在FROM子句中,这样的子查询必须为其赋予别名

连接类型

INNER JOIN,内连接:在MySQL中,JOIN,CROSS JOIN和INNER JOIN是等价的

LEFT [OUTER] JOIN 左外连接

RIGHT [OUTER] JOIN 右外连接

1)内连接: 显示左表及右表符合连接条件的记录

2)左外连接: 显示左表的全部记录及右表符合连接条件的记录

3)右外连接: 显示右表的全部记录及左表符合连接条件的记录

复制请注明出处,在世界中挣扎的灰太狼
原文地址:https://www.cnblogs.com/XingXiaoMeng/p/6864049.html