SQL核心
5个核心SQL语句
SELECT
用来从一个或多个表中或者其他数据库对象中提取数据。
示例以及逻辑处理顺序
1 | 5 SELECT <column list> |
FROM
列出所查询数据的源对象,包含表、视图、物化视图、分区或子分区,或者建立一个子查询。
如果使用多个源对象,其逻辑处理阶段也将会应用到每一个联结类型以及谓词ON,处理联结语句的时候按下面的顺序进行:
- 交叉联结,也称笛卡尔乘积;
- 内联结;
- 外联结。
WHERE
按照条件来限制查询最终返回集的行数。
GROUP BY
将执行FROM和WHERE子句后得到的经过筛选后的结果集进行聚合。
HAVING
将分组汇总后的查询结果限定为只有该子句中的条件为真的数据行。
SELECT
列出查询的返回最终结果集中需要显示哪些列。可以是一个实际的列、一个表达式,活着一个SELECT语句的结果。
ORDER BY
用于对查询最终返回的结果集进行排序
INSERT
用来向表、分区或者试图中添加行。可以向单表或者多个表方法中添加数据行。
单表插入
1 | INSERT INTO <table_name> |
多表插入
略
UPDATE
改变表中原有行的列值。
1 | UPDATE <table_name> |
DELETE
用来从表中移除数据行。
1 | DELETE FROM <table_name> |
MERGE
具有按条件获取要更新或插入到表中的数据行,然后从1个或者多个源头对表进行更新或者向表中插入行两方面的能力。
用在数据仓库中来移动大量的数据。
1 | MERGE <hint> |