SQL子句:
SELECT(唯一的必须出现子句):用于指定查询内容,可以为表列,也可以为表达式或者聚集函数。
FROM:指定查询数据的来源,可以为已有表或者临时表(查询生成),多个查询来源时,可以使用联结或者多表查询,使用逗号将多个查询表分开。
AS:出现在SELECT子句的表列之后或者FROM子句的表名(或临时表)之后,用于起别名。
JOIN:根据JOIN类型连接两个表(详见数据库联结部分);
ON:与JOIN在一起使用,用于描述JOIN条件,和WHERE子句类似。
WHERE:用于过滤个体数据,指定参与查询结果的行所满足的条件。
GROUP BY:数据分组,指定分组条件,经常与SELECT中聚集函数同时出现,用于统计某些信息。
HAVING:用于过滤分组数据,在GROUP BY语句之后,使用聚集函数聚集信息对分组进行过滤。
ORDER BY:对输出结果进行排序,使用多个列进行排序时,列之间使用逗号分隔开。
LIMIT:限制查询结果最大输出数量。
SQL修饰词:
- DISTINCT:用于SELECT 之后的查询表列之前,对SELECT子句中的所有查询表列生效,使得查询结果中不存在相同的两行,特别影响效率。
- LIKE:用于WHERE子句中,用于模糊查询。(*/_,单字替换 ?/%任意字数替换)。
- DSEC:用于ORDER子句中的列名之后,限定当前列排序方式为降序(默认升序ASC),多列之间使用逗号分隔。
- ASC: 用于ORDER子句中的列名之后,限定当前列排序方式为升序(默认,降序为DESC),多列之间使用逗号分隔。
SQL语句子句的使用顺序:
select、from、where(join on)、group by、having、order by、limit
SQL语句子句的执行顺序:
from–on—join—where—group by—聚集函数—having—select—distinct—order by—limit
使用SQL语句时需要注意的地方
GROUP BY:在SELECT语句之后出现的非聚集函数列都必须在GROUP BY语句后出现,否则可能会出现一行中列信息不匹配的状况。牛客网在线编程:GROUP BY语句使用
**JOIN ON与WHERE:**一次查询中,当使用join on语句时,一般不需要使用where子句,因为on子句指明联结的条件。当然,你可以使用on指明部分联结条件后,再使用where指明剩余联结条件;你也可以使用where来代替on,均可以正确执行。
AS:as可以出现在select子句后为列起别名,在from子句后为表起别名。group by子句开始使用select中的别名(列别名),在其后面执行的语句中都可以使用;表别名在其他子句中均可以使用。