命令 | 作用 |
---|---|
insert |
插入语句insert into :追加数据insert overwrite :覆盖数据 |
UPDATE |
更新语句 |
DELETE |
删除语句 |
增、删、改
1 | -- 插入语句 |
查询语句
1 | select expr,列名 as 列的别名,function(列名) as 列的别名 |
命令 | 关键字 | 说明 | |
---|---|---|---|
select | expr | 常量 | |
when case | select when st.score>90 then 1 when st.score<60 then 0 else 0 end label |
||
function | count | 求个数 | |
sum | 求和 | ||
avg | 求平均 | ||
max | 求最大 | ||
min | 求最小 | ||
first | 返回列中第一个记录的值 | ||
last | 返回列中最后一个记录的值 | ||
UCASE | 把字段的值转换为大写 | ||
LCASE | 把字段的值转换为小写 | ||
MID | 从文本字段中提取字符 SELECT MID(column_name,start[,length]) FROM table_name; column_name:必需。要提取字符的字段。 Start:必需。规定开始位置(起始值是 1)。 Length:可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。 |
||
LEN | 函数返回文本字段中值的长度 | ||
ROUND | 函数用于把数值字段舍入为指定的小数位数。 SELECT ROUND(column_name,decimals) FROM table_name; column_name 必需。要舍入的字段。 decimals 必需。规定要返回的小数位数。 |
||
NOW | 函数返回当前系统的日期和时间 | ||
FORMAT | FORMAT 函数用于对字段的显示进行格式化。 SELECT ProductName, UnitPrice, FORMAT(Now(),'YYYY-MM-DD') as PerDate FROM Products |
||
from | 原理 | 从表格中选取数据,采用笛卡尔积 | |
join连接 | join on inner join on |
INNER JOIN 与 JOIN 是相同的 不保留空值 |
|
Left join on | 保留左表中所有的数据,右表中不能匹配的数据使用空值填充 | ||
Right join on | 保留右表中所有的数据,左表中不能匹配的数据使用空值填充 | ||
Full join on | 保留两个表中所有的数据,,两个表中不能匹配的数据使用空值填充 | ||
where | 运算符 | =、<>、>、<、>=、<= | |
函数 | between | BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期 | |
like | "%" : 可以匹配0个或者多个字符 |
||
“ _ ” :只可以匹配一个字符 |
|||
“\” : 转义字符,用于去掉一些特殊字符 ,使其变为普通字符。比如用"\%"可以去匹配字符%,而“”是去匹配字符“_”. |
|||
[charlist]:字符列中的任何单一字符 | |||
[^charlist]或者[!charlist]:不在字符列中的任何单一字符 | |||
in = exists | 是否存在 | ||
group by | 列名 | 分组计算 | |
having | 条件 | 函数 | count、sum、avg、max、min、first、last、UCASE、LCASE、MID、LEN、ROUND、NOW、FORMAT |
运算符 | =、<>、>、<、>=、<=;like;in = exists |
关系代数操作
1 | -- 并:求学过002号课的同学或学过003号课的同学学号 |
排序
1 | order by columns asc(desc) #升序或者降序 |
分组排序
1 | select subject,score, |
dense_rank、rank与row_number的区别
subject | score | rank | dense_rank | row_number | rank2 |
---|---|---|---|---|---|
数学 | 67 | 1 | 1 | 1 | 1 |
数学 | 77 | 2 | 2 | 2 | 2 |
数学 | 78 | 3 | 3 | 3 | 3 |
数学 | 88 | 4 | 4 | 4 | 4 |
数学 | 99 | 5 | 5 | 5 | 5 |
语文 | 60 | 1 | 1 | 1 | 6 |
语文 | 70 | 2 | 2 | 2 | 6 |
语文 | 80 | 3 | 3 | 3 | 8 |
语文 | 80 | 3 | 3 | 4 | 9 |
语文 | 90 | 5 | 4 | 5 | 10 |