基础查询
1、查询所有数据:SELECT * FROM 表名;
(图片来源网络,侵删)
2、查询指定列:SELECT 列名1, 列名2 FROM 表名;
3、查询并排序:SELECT * FROM 表名 ORDER BY 列名 ASC/DESC;
4、查询并限制结果数量:SELECT * FROM 表名 LIMIT 数量;
5、查询并跳过指定数量的结果:SELECT * FROM 表名 OFFSET 数量;
条件查询
6、查询满足条件的记录:SELECT * FROM 表名 WHERE 条件;
7、查询不满足条件的记录:SELECT * FROM 表名 WHERE NOT 条件;
8、查询多个条件的记录:SELECT * FROM 表名 WHERE 条件1 AND/OR 条件2;
9、查询某个范围内的记录:SELECT * FROM 表名 WHERE 列名 >= 值1 AND 列名 <= 值2;
10、查询以某个字符开头的记录:SELECT * FROM 表名 WHERE 列名 LIKE ‘值%’;
聚合函数
11、计算总和:SELECT SUM(列名) FROM 表名;
12、计算平均值:SELECT AVG(列名) FROM 表名;
13、计算最大值:SELECT MAX(列名) FROM 表名;
14、计算最小值:SELECT MIN(列名) FROM 表名;
15、计算记录数:SELECT COUNT(*) FROM 表名;
分组查询
16、根据某列进行分组:SELECT * FROM 表名 GROUP BY 列名;
17、根据多列进行分组:SELECT * FROM 表名 GROUP BY 列名1, 列名2;
18、根据某列分组并计算总和:SELECT 列名, SUM(列名) FROM 表名 GROUP BY 列名;
19、根据某列分组并计算平均值:SELECT 列名, AVG(列名) FROM 表名 GROUP BY 列名;
20、根据某列分组并计算最大值:SELECT 列名, MAX(列名) FROM 表名 GROUP BY 列名;
连接查询
21、INNER连接:SELECT * FROM 表1 INNER JOIN 表2 ON 表1.列名 = 表2.列名;
22、LEFT连接(左连接):SELECT * FROM 表1 LEFT JOIN 表2 ON 表1.列名 = 表2.列名;
23、RIGHT连接(右连接):SELECT * FROM 表1 RIGHT JOIN 表2 ON 表1.列名 = 表2.列名;
24、CROSS连接(交叉连接):SELECT * FROM 表1 CROSS JOIN 表2;
子查询
25、IN子查询:SELECT * FROM 表名 WHERE 列名 IN (SELECT * FROM 子查询);
26、NOT IN子查询:SELECT * FROM 表名 WHERE 列名 NOT IN (SELECT * FROM 子查询);
27、ANY子查询:SELECT * FROM 表名 ANY (子查询);
28、ALL子查询:SELECT * FROM 表名 ALL (子查询);
29、SOME子查询:SELECT * FROM 表名 SOME (子查询);
30、CASE子查询:SELECT CASE (子查询) THEN (结果1) [WHEN (结果2) THEN (结果3)] [ELSE (默认结果)]END AS "别名";
分页查询
31、SQL Server分页查询:SELECT * FROM (SELECT *,ROW_NUMBER()OVER(ORDER BY ID DESC) AS RowNum FROM TableName) AS TmpTableNameWHERE TmpTableName.RowNum > ((当前页1)*每页显示数量) AND TmpTableName.RowNum <= (当前页*每页显示数量);
32、ORACLE分页查询:SELECT * FROM (SELECT t.*,ROWNUM rn FROM (SELECT * FROM tablename t order by id) t) where rn between (当前页1)*每页显示数量 and (当前页*每页显示数量);
33、MySql分页查询:SELECT * FROM tablename limit start,pagesize;(start为起始位置,pagesize为每页显示数量)
评论(0)