超详细的SQL语句语法汇总
SQL语句结构
SQL语句由关键字、函数、表名、列名、运算符、参数和注释等组成,通常由一个或多个子句组成。常见子句包括SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY、LIMIT等。
SELECT子句
SELECT子句用于选择要查询的列或计算的结果。
SELECT column1, column2, ... FROM table1;
或者
SELECT * FROM table1;
使用*通配符选择所有列。
FROM子句
FROM子句指定要从中检索数据的表。
SELECT column1, column2, ... FROM table1 WHERE condition;
WHERE子句
WHERE子句用于过滤数据,只返回满足条件的数据行。
SELECT column1, column2, ... FROM table1 WHERE condition;
例如,选择表“customers”中所有地址为“New York”的客户:
SELECT * FROM customers WHERE address = 'New York';
GROUP BY子句
GROUP BY子句用于按特定列对查询结果进行分组。
SELECT column1, column2, ... FROM table1 GROUP BY column1, column2, ...;
例如,选择表“orders”中客户ID为1的所有订单,并按产品ID分组:
SELECT product_id, SUM(quantity) FROM orders WHERE customer_id = 1 GROUP BY product_id;
HAVING子句
HAVING子句是一个WHERE子句的扩展,允许在GROUP BY子句中指定条件。
SELECT column1, column2, ... FROM table1 GROUP BY column1, column2, ... HAVING condition;
例如,选择表“orders”中客户ID为1的所有订单,只返回数量大于10的产品:
SELECT product_id, SUM(quantity) FROM orders WHERE customer_id = 1 GROUP BY product_id HAVING SUM(quantity) > 10;
ORDER BY子句
ORDER BY子句用于按特定列对查询结果进行排序。
SELECT column1, column2, ... FROM table1 ORDER BY column1 [ASC|DESC];
例如,选择表“products”中所有产品,并按价格从高到低排序:
SELECT * FROM products ORDER BY price DESC;
LIMIT子句
LIMIT子句用于限制返回结果集中的行数。
SELECT column1, column2, ... FROM table1 LIMIT start, count;
例如,选择表“products”中所有产品,并返回前10个:
SELECT * FROM products LIMIT 0, 10;
示例1
以下示例选择表“customers”中所有地址为“New York”的客户,并按姓氏排序:
SELECT last_name, first_name, address, city, state FROM customers WHERE address = 'New York' ORDER BY last_name;
示例2
以下示例选择表“orders”中客户ID为1的所有订单,并按产品ID分组,只返回数量大于10的产品,并按数量从高到低排序:
SELECT product_id, SUM(quantity) FROM orders WHERE customer_id = 1 GROUP BY product_id HAVING SUM(quantity) > 10 ORDER BY SUM(quantity) DESC;
希望这个超详细的SQL语句语法汇总,能够让大家更好地学习和应用SQL语句。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:超详细的SQL语句语法汇总 - Python技术站