MYSQL子查询与连接
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,右外连接
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?