SELECT * FROM <表名>;
SELECT 列1,列2 FROM <表名>;
SELECT DISTINCT 列名1 FROM <表名>;
SELECT * FROM <表名> ORDER BY <列名>;
SELECT * FROM <表名> ORDER BY 5;
SELECT * FROM <表名> ORDER BY <列名> DESC;
操作符 | 说明 | 操作符 | 说明 |
---|---|---|---|
= | 等于 | > | 大于 |
<> | 不等于 | >= | 大于等于 |
!= | 不等于 | !> | 不大于 |
< | 小于 | BETWEEN | 在指定的两个值之间 |
<= | 小于等于 | IS NULL | 为NULL值 |
!< | 不小于 | NOT | 例:NOT id = 2;表示不符合id等于2的数据 |
SELECT * FROM <表名> where score=80;
SELECT * FROM <表名> where score=80 AND gender=‘M’;
SELECT * FROM <表名> where score=80 OR gender=‘M’;
SELECT * FROM <表名> where score IN (10,90);
SELECT * FROM <表名> WHERE score BETWEEN 10 AND 80;
SELECT * FROM <表名> where NOT score=80;
SELECT * FROM <表名> WHERE name LIKE ‘a%’;
SELECT * FROM <表名> WHERE name LIKE ‘[ab]%’;
SELECT * FROM <表名> LIMIT <行数> OFFSET <起始行>;
由于检索结果集过大,需要分页进行展示。
分页查询的关键是,首先要确定每页显示的数量pageSize,然后是当前页的索引pageIndex。
函数 | 说明 |
---|---|
COUNT() | 计算行的个数 |
SUM | 计算某一列的合计值,该列必须为数值 |
AVG | 计算某一列的平均值,该列必须为数值 |
MAX | 计算某一列的最大值 |
MIN | 计算某一列的最小值 |
CONCAT | 将多个列拼接在一起 |
如果where条件没有匹配到任何行,这些函数将返回null。
SELECT COUNT(*) num FROM students;
使用CONCAT函数将多个列拼接在一起
SELECT CONCAT(NAME,’(’,score,’)’) FROM students;
SELECT class_id, COUNT(*) num FROM students GROUP BY class_id;
WHERE过滤指定的行,而HAVING支持所有WHERE的功能,且支持过滤分组
SELECT COUNT() FROM students GROUP BY class_id HAVING COUNT()>=2;
SELECT查询不但可以从一张表查询数据,还可以从多张表同时查询数据。
SELECT * FROM <表1> <表2>
SELECT s.id, s.name, s.class_id, c.name class_name, s.gender, s.score
FROM students s
INNER JOIN classes c
ON s.class_id = c.id;
语法 | 含义 |
---|---|
FROM …LEFT OUTER JOIN | 返回左表都存在的行,右表中不存在的则填充NULL |
FROM …RIGHT OUTER JOIN | 返回右表中的所有行,左表中不存在,则用NULL来填充 |
FROM …RIGHT OUTER JOIN | 会把两张表中所有记录全部选择出来,自动把把对方不存在的填充为NULL |
主要有两种情况需要使用组合查询:
组合查询使用UNION连接多个SELECT语句。语法为:SELECT… UNION SELECT…