37:子查询与连接 SET 列名 gbk;//改变客户端数据表的编码类型。 子查询 子查询(Subquery)是指出现在其他SQL语句内的SELECT子句 例如 SELECT * FROM t1 WHERE col1=(SELECT col2 FROM t2); 其中SELECT * FROM t1称为Outer Query/Outer Statement SELECT col2 FROM FROM t2,称为SubQuery 子查询指嵌套在查询内部,且必须始终出现在圆括号内。 子查询可以包含多个关键字或者条件。 如DISTINCT,GROUP BY,ORDER BY,LIMIT函数。 子查询的外层查询可以是:SELECT,INSERT,UPDATE,SET或DO 子查询返回值 子查询可以返回标量,一行,一列,或子查询。 使用比较运算符的子查询 使用比较运算符的子查询 = > < >= <= <> != <=> 语法结构operand comparison_operator subquery
插入数据准备
链接:http://pan.baidu.com/s/1qXA5WKk 密码:m4b0
用ANY,SOME或者ALL修饰的比较运算符
使用IN 或者NOT IN的子查询 语法结构 operand comparison_operator [NOT] IN(subquery) =ANY运算符与IN等效 !=ALL或者<>ALL 运符与NOT IN等效。
使用[NOT ]EXISTS的子查询 如果子查询返回任何行,EXISTS将返回TRUE,否则位FALSE;
将查询结果写入到数据表
多表更新 UPDATE 表的参照关系 SET 更新的值 WHERE 条件 表的参照关系 (1)INNER JOIN (2)LEFT JOIN (3)OUTER JOIN ON 连接条件 连接类型 INNER JOIN 内连接 在MySql中,JOIN,CROSS,JOIN和INNER JOIN是等价的。 LEFT[OUTER]JOIN,左外连接 RIGHT[OUTER]JOIN,右外连接