SQL学习参考教程:点击此处跳转
SELECT基本语法格式是:
SELECT 查询内容
FROM 表名
WHERE 条件表达式
GROUP BY 待分组的列名
HAVING 列名
ORDER BY 待排序的列名
指令 | 含义 |
---|---|
函数名(列)OVER(选项) | 开窗函数公式 |
SELECT | 从数据库表中获取数据 |
UPDATE | 更新数据库表中的数据 |
DELETE | 从数据库表中删除数据 |
INSERT INTO | 向数据库表中插入数据 |
CREATE DATABASE | 创建新数据库 |
ALTER DATABASE | 修改数据库 |
CREATE TABLE | 创建新表 |
ALTER TABLE | 变更(改变)数据库表 |
DROP TABLE | 删除表 |
CREATE INDEX | 创建索引(搜索键) |
DROP INDEX | 删除索引 |
SELECT 列名称 FROM 表名称 | 从表中获取某一列 |
SELECT * FROM 表名称 | 从表中获取所有列 |
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 | 有条件地从表中选取数据,where后接条件 |
AND | 且 |
OR | 或 |
WHERE NOT EXISTS | 用户不存在某个集合的子条件;小集合不存在于大集合 |
WHERE NOT IN | 用户不在某个集合的子条件;同样大小的集合是不在的关系 |
SELECT 列1,列2 INTO 表2 FROM 表1 | 将从表1查询到的结果保存或复制到新表2中 |
INSERT INTO 表名称 VALUES (值1, 值2,…) | 向表格中插入新的行 |
INSERT INTO 表名称 (列1, 列2,…) VALUES (值1, 值2,…) | 向表格中插入新的列 |
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 | 修改表中的数据 |
DELETE FROM 表名称 WHERE 列名称 = 值 | 删除表中的行 |
TOP+数字 | 规定要返回的记录的数目 |
LIKE | 用于在 WHERE 子句中搜索列中的指定模式 |
通配符 % | 可以匹配0到多个字符 |
CASE函数 | 分情况显示不同类型的数据 |
AVG(成绩) | 计算平均成绩 |
IN | 允许我们在 WHERE 子句中规定多个值;确定给定的值是否与子查询或列表中的值相匹配,选择与列表中的任意一个值匹配的行 |
EXCEPT | 指在第一个集合中存在,但是不存在于第二个集合中的数据,实现结果差运算 |
INTERSECT | 指在两个集合中都存在的数据 |
UNION | 用于合并两个或多个 SELECT 语句的结果集 |
DISTINCT | 消除重复出现的元组 |
OVER | 把函数变成开窗函数 |
PARTITION BY 子句 | 用于聚合开窗函数 |
BETWEEN … AND操作符 | 会选取介于两个值之间的数据范围 |
WITH…AS | 指定为某个新名称 |
RANK函数 | 返回结果集中毎行数据在毎个分区内的排名,并且每个分区内的排名从1开始,但排名中间数值可能有间断 |
DENSE_RANK函数 | 返回结果集中毎行数据在每个分区内的排名,并且每个分区内行的排名从1开始,排名可重复且不间断 |
SELECT column_name AS alias_name FROM table_name | 从表中选出来的列名指定别名为alias_name |
ORDER BY 语句 | 默认按照升序对记录进行排序,如果按照降序对记录进行排序,可以使用 DESC 关键字 |
GROUP BY 语句 | 用于结合合计函数,根据一个或多个列对结果集进行分组,可以理解为以一种新的方式重新列出表中的数据 |
count()函数 | 返回匹配指定条件的行数 |
SELECT COUNT(column_name) FROM table_name | 返回指定列的值的行数目 |
SELECT COUNT(*) FROM table_name | 返回表中的行数 |
SELECT COUNT(DISTINCT column_name) FROM table_name | 返回指定列的不同值的行数目 |
SELECT DISTINCT 列名称 FROM 表名称 | 从表中获取某一列唯一不同的值 |
SQL语句通过子查询,使用 EXISTS 谓词进行存在性测试。其形式是:
Where [NOT] EXISTS(子查询);
带 EXISTS 谓词的子查询不返回查询的结果,只产生逻辑真值和逻辑假值;
EXISTS 的含义是:当子查询中有满足条件的数据时, EXISTS 返回直值,否则返回假值;
NOT EXISTS 的含义是:当子查询中有满足条件的数据时, NOT EXISTS 返回假值,当子查询中不存在满足条件的数据时, NOT EXISTS 返回真值;