一、SELECT语句
SQL语句中最基本的语句就是SELECT语句,用来从表中查询数据。
1. 查询所有数据
SELECT * FROM table_name;
其中,*表示所有字段,table_name表示查询的表名。
2. 查询指定字段的数据
SELECT field1, field2, ... FROM table_name;
其中,field1, field2表示查询的字段名,table_name表示查询的表名。
3. 查询不重复的数据
SELECT DISTINCT field FROM table_name;
其中,DISTINCT用来去除重复数据,field表示查询的字段名,table_name表示查询的表名。
4. 查询前n条数据
SELECT * FROM table_name LIMIT n;
其中,LIMIT用来限制查询数据的条数,n表示查询的前n条记录,table_name表示查询的表名。
5. 查询指定范围的数据
SELECT * FROM table_name WHERE field BETWEEN value1 AND value2;
其中,WHERE用来筛选符合条件的数据,BETWEEN用来筛选在某个范围内的数据,value1, value2表示范围的起始值和结束值,field表示查询的字段名,table_name表示查询的表名。
二、ORDER BY语句
ORDER BY语句用来按照指定字段对查询结果进行排序。
1. 按照单个字段排序
SELECT * FROM table_name ORDER BY field;
其中,ORDER BY用来指定排序方式,field表示排序的字段名,table_name表示查询的表名。
2. 按照多个字段排序
SELECT * FROM table_name ORDER BY field1, field2;
其中,field1, field2表示按照这两个字段排序,table_name表示查询的表名。
3. 按照字段降序排序
SELECT * FROM table_name ORDER BY field DESC;
其中,DESC表示按照降序排序,field表示排序的字段名,table_name表示查询的表名。
三、GROUP BY语句
GROUP BY语句根据字段对查询结果分组。
1. 按照单个字段分组
SELECT field, COUNT(*) FROM table_name GROUP BY field;
其中,COUNT(*)用来统计各个字段的记录数,field表示分组的字段名,table_name表示查询的表名。
2. 按照多个字段分组
SELECT field1, field2, COUNT(*) FROM table_name GROUP BY field1, field2;
其中,field1, field2表示按照这两个字段分组,table_name表示查询的表名。
四、JOIN查询
JOIN查询用来查询来自多个表的数据。
1. INNER JOIN
SELECT * FROM table1 INNER JOIN table2 ON table1.field = table2.field;
其中,INNER JOIN表示使用内联接,table1, table2表示查询的表名,table1.field = table2.field表示连接的字段。
2. LEFT JOIN
SELECT * FROM table1 LEFT JOIN table2 ON table1.field = table2.field;
其中,LEFT JOIN表示使用左连接,table1, table2表示查询的表名,table1.field = table2.field表示连接的字段。
3. RIGHT JOIN
SELECT * FROM table1 RIGHT JOIN table2 ON table1.field = table2.field;
其中,RIGHT JOIN表示使用右连接,table1, table2表示查询的表名,table1.field = table2.field表示连接的字段。
五、子查询
子查询是查询语句嵌套在另一个查询语句中的查询。
1. SELECT语句中使用子查询
SELECT field1, field2 FROM table_name WHERE field1 = (SELECT field1 FROM table_name WHERE field2 = value);
其中,SUBSELECT用来指定子查询,WHERE field1 = (SELECT field1 FROM table_name WHERE field2 = value)表示子查询部分,field1, field2表示查询的字段名,table_name表示查询的表名。
2. FROM语句中使用子查询
SELECT * FROM (SELECT * FROM table_name WHERE field = value) AS subquery WHERE subquery.field2 = value2;
其中,AS用于将子查询命名,subquery表示子查询的名称,subquery.field2 = value2表示对子查询中的数据进行筛选,table_name表示查询的表名。
六、UNION查询
UNION查询可以将来自两个或多个 SELECT 语句的结果合并成同一个结果集。
SELECT field1, field2 FROM table_name1 UNION SELECT field1, field2 FROM table_name2;
其中,UNION用于将两个查询的结果合并成同一个结果集,查询结果中的字段数量和类型必须相同,table_name1, table_name2表示两个查询的表名。
结语
以上就是SQL语句中比较基础和常用的查询语句,借助这些语句可以完成大部分的数据库查询操作。