📅  最后修改于: 2023-12-03 15:20:14.377000             🧑  作者: Mango
在 SQL 查询中,FROM
是一条重要的语句。通过 FROM
可以指定从哪个表中获取数据,也可以指定多个表,然后通过 JOIN
操作将它们关联起来。此外,FROM
语句还支持子查询和视图查询。
在 SQL 中,FROM
语句的基本语法如下所示:
SELECT column1, column2, ...
FROM table_name;
其中,column1, column2, ...
表示要查询的列名,table_name
表示要查询的表名。
假如有一个名为 users
的表,其中包含以下数据:
| id | name | age | gender | address | |----|-------|-----|--------|---------------| | 1 | Alice | 20 | F | New York | | 2 | Bob | 30 | M | Los Angeles | | 3 | Carol | 25 | F | San Francisco |
要查询该表中的所有数据,可以使用以下 SQL 语句:
SELECT *
FROM users;
以上语句将返回以下结果:
| id | name | age | gender | address | |----|-------|-----|--------|---------------| | 1 | Alice | 20 | F | New York | | 2 | Bob | 30 | M | Los Angeles | | 3 | Carol | 25 | F | San Francisco |
假如有两个名为 orders
和 users
的表,其中 orders
表中包含以下数据:
| id | user_id | product | amount | total | date | |----|---------|----------|--------|-------|------------| | 1 | 1 | iPhone | 1 | 800 | 2022-01-01 | | 2 | 2 | Macbook | 2 | 1600 | 2022-01-02 |
而 users
表中包含以下数据:
| id | name | age | gender | address | |----|-------|-----|--------|---------------| | 1 | Alice | 20 | F | New York | | 2 | Bob | 30 | M | Los Angeles | | 3 | Carol | 25 | F | San Francisco |
要查询这两个表中的数据,可以使用以下 SQL 语句:
SELECT u.name, o.product, o.total
FROM orders o
JOIN users u ON o.user_id = u.id;
以上语句将返回以下结果:
| name | product | total | |-------|---------|-------| | Alice | iPhone | 800 | | Bob | Macbook | 1600 |
以上结果是通过将两个表连接起来得到的,具体来说,JOIN
语句用于将 orders
表和 users
表关联起来,ON
语句用于指定关联两个表的列名。
假如有一个名为 orders
的表,其中包含以下数据:
| id | user_id | product | amount | total | date | |----|---------|---------|--------|-------|------------| | 1 | 1 | iPhone | 1 | 800 | 2022-01-01 | | 2 | 2 | Macbook | 2 | 1600 | 2022-01-02 |
要查询 orders
表中的所有数据,并且只返回 total
列中最大值所对应的那一行,可以使用以下 SQL 语句:
SELECT *
FROM orders
WHERE total = (
SELECT MAX(total)
FROM orders
);
以上语句将返回以下结果:
| id | user_id | product | amount | total | date | |----|---------|---------|--------|-------|------------| | 2 | 2 | Macbook | 2 | 1600 | 2022-01-02 |
在上述语句中,MAX(total)
子查询用于获取 total
列中的最大值,然后将它与 orders
表中的 total
列做比较,从而实现返回最大值所在的那一行。
FROM
是 SQL 查询中的重要语句之一,用于指定要查询的表或多个表。FROM
语句还可以支持子查询和视图查询,以达到更为复杂的数据查询和处理需求。