MySQL 烹饪笔记
说明
这里的学习过程主要来自于此网站:https://www.mysqltutorial.org/,以前读过什么《MySQL 必知必会》,现在在学数据库系统概论这门课,比起这个时新的网站,其时效性还是差了些,更重要的是,目前看来,这个网站的教程质量很好,并且有示例的数据库,这个示例的数据库的质量也很好。
数据库的脚本我复整了一份 gist:mysqlsampledatabase
这个脚本可以直接复制到 Navicat 中去执行,或者利用 Navicat 导入 sql 脚本。
我目前的数据库版本是 MySQL 8.0.25,可以把脚本复制到 Navicat 中去执行,没有出现问题。
MySQL SubQuery
https://www.mysqltutorial.org/mysql-subquery/
在这个例子中:
- 子查询返回所有位于美国的办公室的 office codes。
- 外面的查询 select 在子查询中查询到的办公室工作的员工的 lastName 和 firstName。
然后就是执行一下几个示例。
纠正一个错误的认识:我之前看的不认真,以为可以独立的子查询一定是先于外查询执行的,实际上人家并没有这么说,只有当用到
IN
操作符时,才会这样。
SELECT
ORDER BY
WHERE
SELECT DISTINCT
AND
OR
IN
BETWEEN
LIKE
LIMIT
IS NULL
Table & Column Aliases
Joins
INNER JOIN
LEFT JOIN
RIGHT JOIN
Self Join
CROSS JOIN
GROUP BY
HAVING
ROLLUP
Subquery
https://www.mysqltutorial.org/mysql-subquery/
在这个例子中:
- 子查询返回所有位于美国的办公室的 office codes。
- 外面的查询 select 在子查询中查询到的办公室工作的员工的 lastName 和 firstName。
然后就是执行一下几个示例。
纠正一个错误的认识:我之前看的不认真,以为可以独立的子查询一定是先于外查询执行的,实际上人家并没有这么说,只有当用到
IN
操作符时,才会这样。
Derived Tables
EXISTS
UNION
MINUS
INTERSECT
INSERT
Insert Multiple Rows
INSERT INTO SELECT
Insert On Duplicate Key Update
INSERT IGNORE
UPDATE
UPDATE JOIN
DELETE
DELETE JOIN
ON DELETE CASCADE
REPLACE
MySQL 烹饪笔记
http://fanyfull.github.io/2021/12/04/MySQL-烹饪笔记/