知识
SQL 基础
Types of Data | 描述 |
---|---|
integer(size),int(size),smallint(size),tinyint(size) | 仅容纳整数、在括号内规定数字的最大位数 |
decimal(size,d),numeric(size,d) | 容纳带有小数的数字、“size” 规定数字的最大位数、“d” 规定小数点右侧的最大位数 |
char(size) | 容纳固定长度的字符串(可容纳字母、数字以及特殊字符)、在括号中规定字符串的长度 |
varchar(size) | 容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)、在括号中规定字符串的最大长度 |
date(yyyymmdd) | 容纳日期 |
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
);
INSERT INTO 表名称 VALUES (值1, 值2,....);
SELECT 列名称 FROM 表名称;
SELECT DISTINCT 列名称 FROM 表名称;
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值;
SELECT * FROM 表名称 ORDER BY 列1,列2 DESC;
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值;
DELETE FROM 表名称 WHERE 列名称 = 值;
TRUNCATE TABLE 表名称;
DROP TABLE 表名称;
从Persons表中选取居住在以“N”开头的城市里的人
SELECT * FROM Persons WHERE City LIKE 'N%';
SELECT * FROM Persons WHERE LastName IN ('Adams','Carter');
SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter';
SELECT 列名称 as 别名 FROM 表名称;
CREATE VIEW 视图名 AS
SELECT 列名
FROM 表名
WHERE 查询条件;
NOT > AND > OR
使用替换变量增加select语句灵活性
& 每次都需要传值
&& 第一次需要传值
函数
1.操作字符串
concat(‘Hello’,’ World’) 拼接
substr(‘HelloWorld’,1,5) 截取
length 长度
instr 返回选定的索引
lpad 左补全
rpad 右补全
replace 替换
trim 截取(过滤) 修头修尾
2.Number functions
round
trunc
mod 取模
3.Date functions
alter session set nls_date_format = "YYYY-MM-DD";
4.Conversion functions
char 固定长度 varchar varchar2变长 两者之间的区别
NVL 实现空值的转换 NVL(string1,replace_with)
NVL2 NULLIF COALESCE
注意:
- commision_pct 有些人无佣金
-> 需要用NVL函数将其转化
select avg(NVL(commision_pct,0)) from hr.employees;
null -> 0
- 非聚集列一定要出现在group by语句之后
- select department_id, count(last_name) from hr.employees GROUP BY department_id;
case when
decode 用法