💡
原文英文,约700词,阅读约需3分钟。
📝
内容提要
子查询是在另一个查询中使用的查询,适用于SELECT、WHERE和HAVING子句。连接则是基于公共列合并多个表的行,通常效率更高。UNION、INTERSECT和EXCEPT用于合并或比较查询结果。SQL命令分为DDL、DML、DQL、TCL和DCL,基本操作包括创建和修改表结构及管理主键。
🎯
关键要点
- 子查询是在另一个查询中使用的查询,适用于SELECT、WHERE和HAVING子句。
- 连接是基于公共列合并多个表的行,通常效率更高。
- 使用连接时可以高效地从多个表中获取数据。
- 使用子查询时可以进行动态过滤的嵌套查询。
- IN用于检查多个值,=用于检查单个值。
- 交叉连接会组合两个表的所有行(笛卡尔积)。
- 自连接是一个表与自身连接。
- 子查询可以在SELECT和FROM子句中使用。
- UNION用于合并两个查询的结果并去除重复项。
- INTERSECT返回两个查询之间的公共记录。
- EXCEPT返回一个查询中存在而另一个查询中不存在的记录。
- CHAR是固定长度,VARCHAR是可变长度的字符串。
- DDL定义数据库结构,DML修改数据,DQL检索数据,TCL管理事务,DCL管理权限。
- 基本SQL操作包括创建数据库和表、修改表结构、添加列等。
- 主键必须唯一且不能为NULL,一个表只能有一个主键。
- DROP永久删除表结构和数据,DELETE删除特定行但保留表,TRUNCATE删除所有行但保留表结构。
❓
延伸问答
什么是子查询,它的用途是什么?
子查询是在另一个查询中使用的查询,适用于SELECT、WHERE和HAVING子句,用于动态过滤结果。
连接和子查询有什么区别?
连接基于公共列合并多个表的行,通常效率更高,而子查询用于嵌套查询,适合动态过滤。
UNION、INTERSECT和EXCEPT的区别是什么?
UNION合并两个查询的结果并去除重复项,INTERSECT返回两个查询的公共记录,EXCEPT返回一个查询中存在而另一个查询中不存在的记录。
如何在SQL中创建和修改表结构?
使用CREATE命令创建表,使用ALTER命令修改表结构,如添加列或更改列类型。
什么是主键,它的规则是什么?
主键是唯一且不能为NULL的字段,一个表只能有一个主键。
DROP、DELETE和TRUNCATE的区别是什么?
DROP永久删除表结构和数据,DELETE删除特定行但保留表,TRUNCATE删除所有行但保留表结构。
➡️