Skip to content

SQL语句顺序

369字约1分钟

数据库mysql

2024-10-24

SQL语句顺序

书写顺序:

SELECT ... -----------------------> 在查询结果中显示的列 FROM ... -----------------------> 查询哪张表 JOIN ... -----------------------> 与哪张表连接 ON ... -----------------------> 指定连接条件 WHERE ... -----------------------> 过滤数据 GROUP BY ... -----------------------> 根据哪些条件分组 HAVING ... -----------------------> 对分组后的数据再筛选 ORDER BY ... -----------------------> 指定排序条件

执行顺序:

FROM ... ON ... JOIN ... WHERE GROUP BY ... HAVING SELECT DISTINCT ORDER BY LIMIT

外连接

右外连接(left join): 除满足连接条件的数据会显示在查询结果中外, 查询结果中还会包含 JOIN 之后的表中不满足连接条件的数据

左外连接(right join): 除满足连接条件的数据会显示在查询结果中外, 查询结果中还会包含 JOIN 之前的表中不满足连接条件的数据

MySQLDDL语句

MySQL中添加列的语法:

ALTER TABLE 表名 ADD COLUMN ( 列名 类型(宽度) , ... );

其中 COLUMN 可以省略,如果仅添加一个列则可以省略小括号

MySQL中删除列的语法:

ALTER TABLE 表名 DROP COLUMN 列名 ;

MySQL中修改列名的语法:

ALTER TABLE 表名 CHANGE COLUMN 原列名 新列名 类型(宽度);

关键字

数字类型:

MySQL:int

Oracle:number

日期函数

datediff(date1,date2)计算date1与date2之间的天数

date1-date2

例:

mysql> select datediff('2022-01-01',now()) 距2022年还有;
+--------------+
| 距2022年还有 |
+--------------+
|          131 |
+--------------+
1 row in set (0.00 sec)