子查询就是出现在其他SQL中的SELECT字句,例如:SELECT * FROM t1 WHERE col1 = (SELECT col2 FROM t2);像例子中括号里面的查询语句就是子查询,子查询可以包含有DISTINCT、GROUP BY、ORDER BY 、LIMIT、函数等关键字或者条件,子查询的外层可以是:SELECT、UPRATE、INSERT、SET等。子查询的返回值可以为具体值、一行、一列或者还是一个子查询。
MySQL在SELECT语句、多表更新删除语句中支持JION连接操作,连接分为内连接和外连接,外连接又可以分为左连接和右连接。语法格式:
table_reference {[INNER | CROSS] JOIN | {LEFT|RIGHT} [OUTER] JOIN} table_reference ON conditional_expr;
内连接显示的是左边表和右边表符合连接条件的记录,也就是左表跟右表的交集记录。在MySQL里面,JOIN CROSS JOIN以及INNER JOIN都是内连接的意思是等价的,内连接一般用ON关键字设定连接条件用WHERE进行结果集记录过滤。
左外连接显示的是左表的全部记录以及右表中符合连接条件的记录,右外连接就是显示右表的全部记录和左表中符合连接条数的记录。