SQL查询
更新时间:发布时间:作者:久巴
【SQL查询】SQL(Structured Query Language)是一种用于管理和操作关系型数据库的标准语言。它广泛应用于数据存储、检索、更新和管理等场景。掌握SQL查询是数据分析、数据库开发和系统维护的基础技能之一。
以下是对常见SQL查询语句的总结,便于快速查阅和使用。
一、SQL查询基础语法
查询类型 | 语法结构 | 说明 |
查询所有数据 | `SELECT FROM 表名;` | 查询表中所有列和行 |
查询指定列 | `SELECT 列1, 列2 FROM 表名;` | 查询表中指定列的数据 |
条件查询 | `SELECT FROM 表名 WHERE 条件;` | 根据条件筛选记录 |
排序查询 | `SELECT FROM 表名 ORDER BY 列名 ASC/DESC;` | 按指定列升序或降序排列结果 |
去重查询 | `SELECT DISTINCT 列名 FROM 表名;` | 查询不重复的值 |
聚合查询 | `SELECT COUNT(), AVG(列名) FROM 表名;` | 对数据进行统计计算 |
二、常用SQL函数
函数名称 | 功能 | 示例 |
`COUNT()` | 统计行数 | `SELECT COUNT() FROM employees;` |
`SUM()` | 计算总和 | `SELECT SUM(salary) FROM employees;` |
`AVG()` | 计算平均值 | `SELECT AVG(age) FROM users;` |
`MAX()` / `MIN()` | 查找最大值或最小值 | `SELECT MAX(price) FROM products;` |
`ROUND()` | 四舍五入 | `SELECT ROUND(AVG(score), 2) FROM results;` |
三、连接查询
连接类型 | 说明 | 示例 |
内连接(INNER JOIN) | 只返回两个表中匹配的记录 | `SELECT a.name, b.order_id FROM users a INNER JOIN orders b ON a.id = b.user_id;` |
左连接(LEFT JOIN) | 返回左表所有记录,右表无匹配时显示NULL | `SELECT a.name, b.order_id FROM users a LEFT JOIN orders b ON a.id = b.user_id;` |
右连接(RIGHT JOIN) | 返回右表所有记录,左表无匹配时显示NULL | `SELECT a.name, b.order_id FROM users a RIGHT JOIN orders b ON a.id = b.user_id;` |
全连接(FULL JOIN) | 返回左右表所有记录,无匹配时显示NULL | `SELECT a.name, b.order_id FROM users a FULL JOIN orders b ON a.id = b.user_id;` |
四、子查询与分组
查询类型 | 说明 | 示例 |
子查询 | 在一个查询中嵌套另一个查询 | `SELECT name FROM users WHERE id IN (SELECT user_id FROM orders);` |
分组查询 | 使用 `GROUP BY` 对数据进行分组 | `SELECT department, COUNT() FROM employees GROUP BY department;` |
分组过滤 | 使用 `HAVING` 过滤分组后的结果 | `SELECT department, COUNT() FROM employees GROUP BY department HAVING COUNT() > 5;` |
通过合理使用SQL查询语句,可以高效地从数据库中提取有价值的信息。在实际应用中,应根据具体需求选择合适的查询方式,并注意性能优化,如合理使用索引、避免全表扫描等。
免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。