单表查询
| 类型 | 含义 |
|---|---|
| select | 表示要查找表所含有的属性 |
| from | 表示要操作的表 |
| where | 判断条件,根据该条件选择信息 |
| distinct | 表示将结果去重 |
| all | 表示不去重 |
| and | 在where后使用,表示将判断条件连接起来 |
| or | 在where中使用,表示判断条件多选一 |
| not | 在where中使用,表示判断条件相反 |
多表查询
| 类型 | 含义 |
|---|---|
| A,B | 在from后面通过逗号连接多张表,表示将这些表进行笛卡尔积运算 |
| natural join | 表示将 natural join 前后的两张表进行自然连接运算 |
| left join | 左连接,以左边为主表进行连接,右边没有的用 null 代替 |
| right join | 右连接,以右边为主表进行连接,左边没有的用 null 代替 |
| full join | 全连接,将两表完全合并,没有的用 null 代替 |
| join / inner join | 内连接,只连接两表皆有,其他删除 |
| corss join | 交叉连接,结果为两表的笛卡尔积 |
| A join B using© | 将 A 和 B 通过 c 属性自然连接 |
附加运算
| 类型 | 含义 |
|---|---|
| as | 将 as 前的关系起一个别名,在此语句中可以用别名来代指这个表或字段 |
| * | 在 select 中表示找出这个表所有的属性 |
| order by | 让查询结果中的信息按照给定的属性排序(默认升序) |
| desc | 在排序后使用,表示降序 |
| asc | 在排序后使用,表示升序 |
| between | 在 where 中使用,表示一个数在两个数值之间取值 |
| not between | between 的反义词,在两个数之外取值 |
| union / union all | 将两个 SQL 语句做并运算,并且自动去重,添加all表示不去重 |
| intersect / intersect all | 将两个 SQL 语句做交运算,并且自动去重,添加all表示不去重 |
| except/ exceptall | 将两个 SQL 语句做差运算,并且自动去重,添加all表示不去重 |
| is null | 在where中使用,表示这个值是空值 |
| is not null | 在where中使用,表示这个值不是空值 |
聚集函数运算
| 类型 | 含义 |
|---|---|
| avg | 平均值 |
| min | 最小值 |
| max | 最大值 |
| sum | 总和 |
| count | 计数 |
| distinct | 表示将后面的属性去重 |
| group by | 把在 group by 上取值相同的信息分在一个组 |
| having | 对 group by 产生的分组进行筛选,可以使用聚集函数 |