数据库查询表的语句是数据库操作中最基本也是最重要的操作之一,以下是一些常用的数据库查询语句及其示例。

SELECT 语句
SELECT 语句用于从数据库表中检索数据,以下是 SELECT 语句的基本结构:
SELECT column1, column2, ... FROM table_name WHERE condition;
column1, column2, ...:要检索的列名。table_name:要检索数据的表名。WHERE condition:可选条件,用于筛选数据。
示例
SELECT name, age FROM students WHERE age > 20;
这个查询会返回所有年龄大于20岁的学生的姓名和年龄。
DISTINCT 语句
DISTINCT 语句用于返回唯一值。
SELECT DISTINCT column1, column2, ... FROM table_name WHERE condition;
示例
SELECT DISTINCT country FROM customers;
这个查询会返回所有不同的国家名称。
ORDER BY 语句
ORDER BY 语句用于对结果进行排序。
SELECT column1, column2, ... FROM table_name WHERE condition ORDER BY column1, column2, ... ASC|DESC;
ASC:升序排序。DESC:降序排序。
示例
SELECT name, age FROM students ORDER BY age DESC;
这个查询会返回所有学生的姓名和年龄,并按年龄降序排序。

LIMIT 语句
LIMIT 语句用于限制查询结果的数量。
SELECT column1, column2, ... FROM table_name WHERE condition ORDER BY column1, column2, ... ASC|DESC LIMIT number;
示例
SELECT name, age FROM students ORDER BY age DESC LIMIT 10;
这个查询会返回所有学生的姓名和年龄,并按年龄降序排序,但只返回前10条记录。
INNER JOIN 语句
INNER JOIN 语句用于结合两个或多个表中的数据。
SELECT column1, column2, ... FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name WHERE condition;
table1和table2:要结合的表名。column_name:要结合的列名。
示例
SELECT students.name, courses.name FROM students INNER JOIN courses ON students.course_id = courses.id;
这个查询会返回所有学生的姓名和对应课程的名称。
子查询
子查询是一个查询语句,它被包含在另一个查询语句中。
SELECT column1, column2, ... FROM table_name WHERE column_name IN (SELECT column_name FROM table_name WHERE condition);
示例
SELECT name FROM students WHERE age IN (SELECT age FROM students WHERE country = 'USA');
这个查询会返回所有来自美国的学生的姓名。

表格示例
| 语句类型 | 语句示例 | 说明 |
|---|---|---|
| SELECT | SELECT name, age FROM students WHERE age > 20; | 返回年龄大于20岁的学生姓名和年龄 |
| DISTINCT | SELECT DISTINCT country FROM customers; | 返回所有不同的国家名称 |
| ORDER BY | SELECT name, age FROM students ORDER BY age DESC; | 返回所有学生的姓名和年龄,并按年龄降序排序 |
| LIMIT | SELECT name, age FROM students ORDER BY age DESC LIMIT 10; | 返回所有学生的姓名和年龄,并按年龄降序排序,但只返回前10条记录 |
| INNER JOIN | SELECT students.name, courses.name FROM students INNER JOIN courses ON students.course_id = courses.id; | 返回所有学生的姓名和对应课程的名称 |
| 子查询 | SELECT name FROM students WHERE age IN (SELECT age FROM students WHERE country = ‘USA’); | 返回所有来自美国的学生的姓名 |
FAQs
Q1:如何使用 WHERE 子句筛选数据?
A1:WHERE 子句用于筛选数据,在 WHERE 子句中,您可以指定条件,只有满足条件的记录才会被检索,以下查询会返回所有年龄大于20岁的学生姓名和年龄:
SELECT name, age FROM students WHERE age > 20;
Q2:如何对查询结果进行排序?
A2:您可以使用 ORDER BY 子句对查询结果进行排序,ORDER BY 子句允许您指定一个或多个列名,以及排序的顺序(升序或降序),以下查询会返回所有学生的姓名和年龄,并按年龄降序排序:
SELECT name, age FROM students ORDER BY age DESC;
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/204455.html