登录
首页 >  数据库 >  MySQL

SQL 过滤和排序与现实生活中的例子

时间:2024-12-29 16:24:28 331浏览 收藏

今天golang学习网给大家带来了《SQL 过滤和排序与现实生活中的例子》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

SQL 过滤和排序与现实生活中的例子

本文将通过员工和部门表案例,深入讲解SQL中的WHEREHAVINGORDER BYGROUP BY等子句及相关运算符,助您掌握SQL数据过滤和排序技巧。

目录

  1. 表结构
  2. WHERE 子句
  3. GROUP BY 子句
  4. HAVING 子句
  5. ORDER BY 子句
  6. LIMIT 子句
  7. DISTINCT 子句
  8. ANDORNOT 运算符

表结构

员工表

emp_idnameagedepartment_idhire_datesalary
1john smith351012020-01-015000
2jane doe281022019-03-156000
3alice johnson401032018-06-207000
4bob brown55null2015-11-108000
5charlie black301022021-02-015500

部门表

dept_iddept_name
101hr
102it
103finance
104marketing

WHERE 子句

WHERE 子句用于筛选符合特定条件的记录。

SQL 查询:

SELECT name, age, salary
FROM employees
WHERE age > 30;

结果:

nameagesalary
john smith355000
alice johnson407000
bob brown558000

说明: 筛选出年龄大于30岁的员工信息。

AND 运算符示例:

SELECT name, age, salary
FROM employees
WHERE age > 30 AND salary > 5000;

结果:

nameagesalary
alice johnson407000
bob brown558000

说明: 筛选出年龄大于30岁且薪水大于5000的员工信息。

GROUP BY 子句

GROUP BY 子句用于将具有相同值的记录分组,常用于统计聚合操作。

SQL 查询:

SELECT department_id, COUNT(*) AS employee_count
FROM employees
GROUP BY department_id;

结果:

department_idemployee_count
1011
1022
1031

说明: 按部门ID分组,统计每个部门的员工人数。

HAVING 子句

HAVING 子句用于过滤GROUP BY分组后的结果。

SQL 查询:

SELECT department_id, AVG(salary) AS avg_salary
FROM employees
GROUP BY department_id
HAVING AVG(salary) > 5500;

结果:

department_idavg_salary
1025750
1037000

说明: 筛选出平均薪水大于5500的部门。

ORDER BY 子句

ORDER BY 子句用于对结果集进行排序。

SQL 查询 (升序):

SELECT name, salary
FROM employees
ORDER BY salary;

结果:

namesalary
john smith5000
charlie black5500
jane doe6000
alice johnson7000
bob brown8000

SQL 查询 (降序):

SELECT name, salary
FROM employees
ORDER BY salary DESC;

结果:

namesalary
bob brown8000
alice johnson7000
jane doe6000
charlie black5500
john smith5000

LIMIT 子句

LIMIT 子句用于限制返回的记录数量。

SQL 查询:

SELECT name, salary
FROM employees
ORDER BY salary DESC
LIMIT 3;

结果:

namesalary
bob brown8000
alice johnson7000
jane doe6000

说明: 仅返回薪水最高的3名员工信息。

DISTINCT 子句

DISTINCT 子句用于去除重复值。

SQL 查询:

SELECT DISTINCT department_id
FROM employees;

结果:

department_id
101
102
103

说明: 返回唯一的部门ID。

ANDORNOT 运算符

这些运算符用于组合多个条件。

(略去重复的And, Or, Not例子,保持篇幅精简)

结论

本文通过实际案例,详细讲解了SQL中用于数据过滤和排序的关键子句和运算符。熟练掌握这些知识,将有效提升您的SQL查询效率和数据分析能力。

以上就是《SQL 过滤和排序与现实生活中的例子》的详细内容,更多关于的资料请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>