当前位置: 首页 > news >正文

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 保留重复。

八、注意事项

  1. 大小写敏感:表名、列名在 Linux 系统下区分大小写。
  2. 引号规则
    • 字符串用单引号 'text'
    • 列别名可用双引号或反引号。
  3. 性能优化:避免 SELECT *,尽量指定需要的列。
  4. 注释:支持 -- 单行注释/* 多行注释 */

九、示例练习

  1. 查询工资超过 8000 的销售部员工:
SELECT first_name, last_name, salary 
FROM employees 
WHERE salary > 8000 AND department_id = 80;
  1. 查询 2020 年入职的员工并按工资降序排列:
SELECT * FROM employees 
WHERE hire_date BETWEEN '2020-01-01' AND '2020-12-31'
ORDER BY salary DESC;

掌握这些基础后,可进一步学习 JOIN、子查询、分组(GROUP BY)和复杂条件组合!

相关文章:

  • Java生成微信小程序码及小程序短链接
  • 文档在线协同工具ONLYOFFICE教程:如何使用宏突出显示具有特定提示文本的空文本字段
  • 基于YOLO的瓷砖缺陷检测系统设计与实现(附数据集+源码)
  • EMB量产首航!炯熠电子引领「线控底盘革命」
  • vue3使其另一台服务器上的x.html,实现x.html调用中的函数,并向其传递数据。
  • react中有哪几种数据结构?分别是干什么的?
  • 水表盘数字显示区域分割数据集labelme格式538张2类别
  • 【知识科普】今天聊聊CDN
  • 【AI Weekly】AI前沿热点周刊(4.21~4.27)
  • GD32F407单片机开发入门(十六)单片机IAP(在应用编程)详解及实战源码
  • 2025汽车制造企业数字化转型路径参考
  • Android Kotlin ViewModel 错误处理:最佳 Toast 提示方案详解
  • 海外App开发进阶:AI驱动的本地化与跨平台高效架构实战
  • 重测序关系矩阵构建方式汇总
  • 【机器学习】朴素贝叶斯
  • PyCharm与Unreal Engine集成进行开发
  • Numpy数组与矩阵——python学习
  • CSS 预处理器与模块化:Sass/LESS 实战技巧
  • 项目实战-贪吃蛇大作战【补档】
  • K8S ConfigMap 快速开始
  • 早睡1小时,变化有多惊人?第一个就没想到
  • 江西省国资委原副主任李键主动向组织交代问题,接受审查调查
  • 坚守刑事检察一线13年,“在我心中每次庭审都是一次大考”
  • 我国首个核电工业操作系统发布,将在华龙一号新机组全面应用
  • 旧衣服旧纸箱不舍得扔?可能是因为“囤物障碍”
  • 剪纸纹样“流动”在水乡,谁不忆江南