查询有多种方法:单表查询,使用集合函数查询,连接查询,子查询,合并查询结果,为表和字段取别名,使用正则表达式查询
一、单表查询
查询所有字段:SELECT * FROM 表名;
查询指定字段:(单个字段):SELECT 列名 FROM 表名;
查询指定字段(多个字段):SELECT 字段名1,字段名2,...,字段名n FROM 表名;
查询指定记录:SELECT 字段名1,字段名2,...,字段名n FROM表名 WHERE 查询条件;
WHERE表达式中运算符的说明如下:
带IN关键字的查询:SELECT 字段名 FROM表名 WHERE 字段名 IN(范围)ORDER BY 字段名;
带NOT IN关键字的查询:SELECT 字段名 FROM表名 WHERE 字段名 IN(范围)ORDER BY 字段名;
带BETWEEN AND的范围查询:SELECT 字段名1,字段名n FROM表名 WHERE字段名 BETWEEN X AND Y;
带LIKE的字符匹配查询:1.百分号通配符“%”,匹配任意长度的字符,甚至包括零字符:
SELECT 字段名1,字段名n FROM 表名 WHERE 字段名 LIKE '%';
2.下划线通配符‘_’,一次只能匹配任意一个字符
SELECT 字段名1,字段名n FROM 表名 WHERE 字段名 LIKE '_ _ _ _’;
查询空值:SELECT 字段名1,字段名n FROM 表名 WHERE 字段名 IS NULL;
带AND的多条件查询:SELECT 字段名1,字段名n FROM 表名 WHERE 字段名 (条件 例如=‘ X’) AND 字段名 (条件 例如<= y);
带OR的多条件查询:SELECT 字段名1,字段名n FROM 表名 WHERE 字段名(条件 例如 =x)OR 字段名 (条件 例如 =y);
查询结果不重复:SELECT DISTINCT 字段名 FROM 表名;
对查询结果排序:1.单列排序 :SELECT 字段名 FROM表名 ORDER BY 字段名
2.多列排序:SELECT 字段名1,字段名n FROM表名 ORDER BY 字段名1,字段名n;
3.指定排序方向:SELECT 字段名 FROM表名 ORDER BY字段名 DESC; (DESC是降序,如果不加,就是默认升序)
分组查询:[GROUP BY 字段名] [HAVING<条件表达式>] GROUP BY通常和集合函数一起使用
1.创建分组:SELECT 字段名,COUNT(*) AS 新表名 FROM 表名 GROUP BY 字段名;
SELECT 字段名1,GROUP_CONCAT(字段名2) AS 新字段名 FROM 表名 GROUP BY 字