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 条件表达式。其中,列名表示要查询的数据,表名表示要查询的表,条件表达式表示查询的条件。
join和in哪个查询更快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 employees.name, departments.name 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);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论