子查询(Subqueries):子查询是嵌套在其他 SQL 查询中的查询。
例子:
SELECT column1
FROM table1
WHERE column1 = (SELECT column1 FROM table2);
这个查询会从 table1 中选择 column1 值等于 table2 中 column1 的所有行。
合计函数(Aggregate functions):如 COUNT, MAX, MIN, AVG, SUM 等。
例子:
SELECT COUNT(column1), MAX(column2), MIN(column3), AVG(column4), SUM(column5)
FROM table_name;
这个查询会返回 column1 的总数,column2 的最大值,column3 的最小值,column4 的平均值,以及 column5 的总和。
GROUP BY:GROUP BY 语句常常与合计函数一起使用,用来将数据分组。
例子:
SELECT column1, AVG(column2)
FROM table_name
GROUP BY column1;
这个查询会返回每个 column1 的值以及相应的 column2 的平均值。
HAVING:HAVING 语句常常与 GROUP BY 一起使用,用来过滤聚合后的结果。
例子:
SELECT column1, COUNT(*)
FROM table_name
GROUP BY column1
HAVING COUNT(*) > 5;
这个查询会返回 column1 的值以及相应的行数,但只会返回那些行数大于 5 的结果。
连接多个表(Joining multiple tables):可以连接多个表进行复杂查询。
例子:
SELECT table1.column1, table2.column2, table3.column3
FROM table1
INNER JOIN table2 ON table1.common_column = table2.common_column
INNER JOIN table3 ON table1.common_column = table3.common_column;
这个查询会从 table1, table2 和 table3 中选择数据,这些表通过 common_column 相连接。