SQL常用命令
-- 查询语法格式
SELECT --从数据库表中检索数据行和列
FROM --数据来自哪些表
WHERE -- 哪些条件
AND -- 和 其他条件
OR -- 或 其他条件
GROUP BY -- 按条件分组
HAVING -- 分组后按条件过滤
ORDER BY -- 按条件排序
ASC -- 升序
DESC -- 降序
--关联查询
INNER JOIN -- 内关联
LEFT JOIN -- 左外关联
RIGHT JOIN -- 右外关联
FULL OUTER JOIN -- 全外关联
--聚合函数
MAX() -- 求最大值
MIN() -- 求最小值
AVG() -- 求平均值
COUNT() -- 统计个数
SUM() -- 求和
-- 分析函数
OVER() -- 分析函数原始形态
PARTITION BY -- 分析函数中分组的表达式
ORDER BY -- 分析函数中排序 ,累计求和
LAG() -- 找前 N 个的结果
LEAD() -- 找后 N 个的结果
ROW_NUMBER() -- 排序不考虑并列
RANK() -- 考虑并列排序,排名相同的最后一个排名的下一位 空出排名
DENSE_RANK() -- 考虑并列排序,排名相同的最后一个排名的下一位 不空出排名
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
CREATE VIEW --创建一个视图
DROP VIEW --从数据库中删除视图
CREATE INDEX --为数据库表创建一个索引
DROP INDEX --从数据库中删除索引
CREATE PROCEDURE --创建一个存储过程
DROP PROCEDURE --从数据库中删除存储过程
--数据控制
GRANT --授予用户访问权限
REVOKE --解除用户访问权限
--事务控制
COMMIT --结束当前事务
ROLLBACK --回滚当前事务
-- 条件控制
CASE WHEN
IF THEN
ELSIF THEN
ELSE
END IF
DECODE()
--循环
LOOP -- 循环
END LOOP -- 结束循环
FOR .. LOOP -- FOR 循环
WHILE .. LOOP -- while 循环
EXIT -- 退出循环
--程序化SQL
DECLARE --定义变量 或 游标
CURSOR -- 游标
%TYPE -- 类型
%ROWTYPE -- 行的类型
EXPLAN --为查询描述数据访问计划
OPEN --检索查询结果打开一个游标
FETCH --检索一行查询结果
CLOSE --关闭游标
EXECUTE --动态地执行SQL 语句