MySQL单表查询常见操作实例总结
MySQL的单表查询是数据库操作的基础,多数时候我们的操作都是围绕着单表查询来展开的。在这里,我将总结了几种常见的MySQL单表查询的操作,包括:SELECT、DISTINCT、WHERE、AND、OR、IN、BETWEEN、LIKE、ORDER BY、GROUP BY、HAVING、LIMIT等。
SELECT
SELECT是最基本的操作,用于查询表中需要的字段。其语法格式为:
SELECT column1, column2, ... FROM table_name;
其中,column1, column2, ...是需要查询的字段名。如果要查询所有字段,用*代替字段名即可。
示例:
查询员工表中的所有员工信息
SELECT * FROM employee;
DISTINCT
DISTINCT用于去重,它可以使得查询结果中不含重复数据。其语法格式为:
SELECT DISTINCT column1, column2, ... FROM table_name;
示例:
查询员工表中的所有不重复的部门信息
SELECT DISTINCT department FROM employee;
WHERE
WHERE语句用于筛选符合条件的数据。其语法格式为:
SELECT column1, column2, ... FROM table_name WHERE condition;
其中,condition是筛选条件,支持<、>、=、<=、>=、!=等运算符,以及AND和OR逻辑运算符。
示例:
查询员工表中工资大于等于5000的员工信息
SELECT * FROM employee WHERE salary >= 5000;
AND、OR
AND和OR用于连接多个条件,AND要求所有条件均需满足才返回结果,OR只需满足其中一个条件即可返回结果。其语法格式为:
SELECT column1, column2, ... FROM table_name WHERE condition1 AND/OR condition2;
示例:
查询员工表中工资大于等于5000并且部门为销售部的员工信息
SELECT * FROM employee WHERE salary >= 5000 AND department = 'sales';
查询员工表中工资大于等于5000或者部门为销售部的员工信息
SELECT * FROM employee WHERE salary >= 5000 OR department = 'sales';
IN
IN用于查询某一字段中包含特定值的行。其语法格式为:
SELECT column1, column2, ... FROM table_name WHERE column_name IN (value1, value2, ...);
示例:
查询员工表中工资为5000或6000或7000的员工信息
SELECT * FROM employee WHERE salary IN (5000, 6000, 7000);
BETWEEN
BETWEEN用于查询某一字段中在特定范围内的数据行。其语法格式为:
SELECT column1, column2, ... FROM table_name WHERE column_name BETWEEN value1 AND value2;
示例:
查询员工表中工资在5000到8000之间的员工信息
SELECT * FROM employee WHERE salary BETWEEN 5000 AND 8000;
LIKE
LIKE用于模糊匹配,常用于搜索文本字段,可以使用通配符%和_。其中%代表0个或多个字符,_代表一个字符。其语法格式为:
SELECT column1, column2, ... FROM table_name WHERE column_name LIKE pattern;
示例:
查询员工表中姓名包含“张”的员工信息
SELECT * FROM employee WHERE name LIKE '%张%';
ORDER BY
ORDER BY用于对结果进行排序,默认为升序排序。其语法格式为:
SELECT column1, column2, ... FROM table_name ORDER BY column_name DESC;
其中,DESC表示降序排序。
示例:
查询员工表中按照工资降序排列的员工信息
SELECT * FROM employee ORDER BY salary DESC;
GROUP BY
GROUP BY是对结果进行分组,经常和聚合函数一起使用。其语法格式为:
SELECT column1, column2, ... FROM table_name GROUP BY column_name;
示例:
查询员工表中不同部门的平均工资
SELECT department, AVG(salary) FROM employee GROUP BY department;
HAVING
HAVING是对GROUP BY的结果进行筛选。其语法格式为:
SELECT column1, column2, ... FROM table_name GROUP BY column_name HAVING condition;
示例:
查询员工表中不同部门的平均工资大于等于5000的部门信息
SELECT department, AVG(salary) FROM employee GROUP BY department HAVING AVG(salary) >= 5000;
LIMIT
LIMIT用于限制查询结果的数量,常用于分页查询。其语法格式为:
SELECT column1, column2, ... FROM table_name LIMIT offset, count;
其中,offset代表查询结果偏移量,count代表查询结果条数。
示例:
查询员工表中工资排在前10位的员工信息
SELECT * FROM employee ORDER BY salary DESC LIMIT 10;
以上就是MySQL单表查询的常见操作实例总结,希望能够对大家学习和使用MySQL提供帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL单表查询常见操作实例总结 - Python技术站