Skip to content

SQL语句顺序

370字约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)

Powered by Vuepress and Cloudflare Pages