MYSQL子查询与连接

来源:互联网 发布:淘宝 天猫魔盒 编辑:程序博客网 时间:2024/04/28 10:30
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,右外连接

 

0 0
原创粉丝点击