IT序号网

MYSQL子查询与连接知识解答

sanshao 2021年06月03日 数据库 137 0
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

插入数据准备

用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,右外连接


发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

MYSQL操作数据表中的记录知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。