sql必知必会读书笔记

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

sql必知必会读书笔记
《SQL必知必会》是一本非常实用的SQL学习书籍,以下是我的读书笔记:
1. SQL是什么?
SQL(Structured Query Language)是一种用于管理关系型数据库的编程语言。

它可以用于创建、修改和删除数据表,以及查询、更新和删除数据。

2. SQL的基本语法
SQL语句以分号结尾。

常用的SQL语句包括SELECT、INSERT、UPDATE、DELETE等。

其中,SELECT语句用于查询数据,INSERT语句用于插入数据,UPDATE语句用于更新数据,DELETE语句用于删除数据。

3. SELECT语句的基本结构
SELECT语句的基本结构为:SELECT 列名FROM 表名WHERE 条件表达式。

其中,列名表示要查询的数据,表名表示要查询的表,条件表达式表示查询的条件。

4. WHERE子句
WHERE子句用于指定查询条件,可以使用比较运算符(如=、<>、>、<、>=、<=)和逻辑运算符(如AND、OR、NOT)进行组合。

例如,查询年龄大于18岁的员工信息:SELECT * FROM employees WHERE age > 18;
5. ORDER BY子句
ORDER BY子句用于对查询结果进行排序,可以按照一个或多个列进行排序。

默认情况下,排序方式为升序(ASC),也可以使用DESC关键字进行降序排序。

例如,按照员工姓名升序排列:SELECT * FROM employees ORDER BY name ASC;
6. GROUP BY子句
GROUP BY子句用于将查询结果按照一个或多个列进行分组。

可以使用聚合函数(如COUNT、SUM、AVG、MAX、MIN)对每个分组进行计算。

例如,统计每个部
门的平均工资:SELECT department, AVG(salary) FROM employees GROUP BY department;
7. HAVING子句
HAVING子句用于对分组后的结果进行筛选。

它与WHERE子句的区别在于,WHERE子句不能用于分组后的筛选,而HAVING子句只能用于分组后的筛选。

例如,查询平均工资大于5000的部门信息:SELECT department, AVG(salary) FROM employees GROUP BY department HAVING AVG(salary) > 5000;
8. JOIN子句
JOIN子句用于将两个或多个表进行连接查询。

常用的JOIN类型有INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)和FULL JOIN(全连接)。

例如,查询员工及其部门信息:SELECT , FROM employees INNER JOIN departments ON employees.department_id = departments.id;
9. NULL值处理
在SQL中,NULL表示缺失值或未知值。

可以使用IS NULL和IS NOT NULL关键字进行判断,或者使用COALESCE和NULLIF函数进行处理。

例如,查询没有邮箱的员工信息:SELECT * FROM employees WHERE email IS NULL;
10. 存储过程和触发器
存储过程是一种预编译的SQL语句集合,可以提高数据库的性能。

触发器是一种自动执行的SQL语句,可以在特定事件发生时自动执行。

例如,创建一个存储过程:CREATE PROCEDURE get_employee_info(IN id INT) BEGIN SELECT * FROM employees WHERE id = id; END;调用存储过程:CALL get_employee_info(1);。

相关文档
最新文档