MySQL5.7.21查询入门
以下是 MySQL 5.7.21 中 SELECT
查询的入门指南,涵盖基础语法和常见用法:
一、SELECT
基本语法
SELECT [列名] FROM [表名] [WHERE 条件] [ORDER BY 排序] [LIMIT 限制];
二、基础查询示例
1. 查询所有列
SELECT * FROM employees;
*
表示返回表中所有列。
2. 查询特定列
SELECT first_name, last_name, salary FROM employees;
3. 使用别名(AS)
SELECT first_name AS "名字", salary * 12 AS "年薪" FROM employees;
4. 去重(DISTINCT)
SELECT DISTINCT department_id FROM employees;
三、条件过滤(WHERE)
1. 比较运算符
SELECT * FROM employees WHERE salary > 5000;
- 支持的运算符:
=
,>
,<
,>=
,<=
,<>
(不等于)。
2. 逻辑运算符
SELECT * FROM employees
WHERE salary > 5000 AND department_id = 10;
- 支持
AND
,OR
,NOT
。
3. 模糊查询(LIKE)
SELECT * FROM employees
WHERE first_name LIKE 'J%'; -- 以 J 开头
%
表示任意字符(0或多个),_
表示单个字符。
4. 范围查询(BETWEEN / IN)
SELECT * FROM employees
WHERE salary BETWEEN 4000 AND 8000;SELECT * FROM employees
WHERE department_id IN (10, 20, 30);
5. 空值判断(IS NULL)
SELECT * FROM employees
WHERE commission_pct IS NULL;
四、排序(ORDER BY)
SELECT first_name, salary
FROM employees
ORDER BY salary DESC; -- 降序排列
ASC
(默认升序),DESC
(降序)。
五、限制结果(LIMIT)
SELECT * FROM employees
ORDER BY hire_date DESC
LIMIT 10; -- 返回前 10 条记录-- 分页查询(跳过前 20 条,取 10 条)
SELECT * FROM employees
LIMIT 20, 10;
六、简单函数使用
1. 聚合函数
SELECT COUNT(*) AS "总人数",AVG(salary) AS "平均工资",MAX(salary) AS "最高工资",MIN(salary) AS "最低工资"
FROM employees;
2. 字符串函数
SELECT CONCAT(first_name, ' ', last_name) AS "全名"
FROM employees;
七、联合查询(UNION)
SELECT name FROM table1
UNION
SELECT name FROM table2;
UNION
自动去重,UNION ALL
保留重复。
八、注意事项
- 大小写敏感:表名、列名在 Linux 系统下区分大小写。
- 引号规则:
- 字符串用单引号
'text'
。 - 列别名可用双引号或反引号。
- 字符串用单引号
- 性能优化:避免
SELECT *
,尽量指定需要的列。 - 注释:支持
-- 单行注释
或/* 多行注释 */
。
九、示例练习
- 查询工资超过 8000 的销售部员工:
SELECT first_name, last_name, salary
FROM employees
WHERE salary > 8000 AND department_id = 80;
- 查询 2020 年入职的员工并按工资降序排列:
SELECT * FROM employees
WHERE hire_date BETWEEN '2020-01-01' AND '2020-12-31'
ORDER BY salary DESC;
掌握这些基础后,可进一步学习 JOIN
、子查询、分组(GROUP BY
)和复杂条件组合!