MySQL中的SELECT语句用于
它是最常用的 SQL查询。本语句的一般语法从表中获取数据如下:
SELECT field_name1, field_name 2,... field_nameN FROM table_name1, table_name2... [WHERE condition] [GROUP BY field_name(s)] [HAVING condition] [ORDER BY field_name(s)] [OFFSET M ][LIMIT N];
SELECT * FROM tables [WHERE conditions] [GROUP BY fieldName(s)] [HAVING condition] [ORDER BY fieldName(s)] [OFFSET M ][LIMIT N];
SELECT语句使用以下参数:
Parameter Name | Descriptions |
---|---|
field_name(s) or * | 它用于指定一个或多个列以在结果集中返回。星号(*)返回表的所有字段。 |
table_name(s) | 它是无涯教程想要获取数据的表的名称。 |
WHERE | 这是一个可选条件。它指定返回结果集中匹配记录的条件。 |
GROUP BY | 它是可选的。它从多个记录中收集数据,并通过一个或多个列分组。 |
HAVING | 它是可选的。它适用于Group By子句,并仅返回其条件为true的行。 |
ORDER BY | 它是可选的。它用于对结果集中的记录进行排序。 |
OFFSET | 它是可选的。它指定首先返回哪个行。默认情况下,它以零开头。 |
LIMIT | 它是可选的。它用于限制结果集中的返回记录的数量。 |
让无涯教程了解在的选择命令如何在各种示例的帮助下工作。假设有一个名为 employee_detail 的表,其中包含以下数据:
1. 如果无涯教程想从表中检索单列,需要执行以下查询:
mysql> SELECT Name FROM employee_detail;
将获得以下输出,只能看到一个列记录。
2. 如果无涯教程想从表中查询多列,需要执行以下查询:
mysql> SELECT Name, Email, City FROM employee_detail;
将获得以下结果,可以看到员工的Name,Email和City。
3. 如果无涯教程想从从表的所有列中获取数据,需要使用select语句使用所有列的名称。指定所有列名称对用户不方便,因此MySQL使用星号(*)来检索所有列数据,如下所示:
mysql> SELECT * FROM employee_detail;
将获得以下输出,可以看到表的所有列。
4. 在这里,无涯教程使用 sum函数与SELECT语句中获取员工Name,City和总工作时间。此外,它使用子句 group使用子句 group由名称列分组。
SELECT Name, City, SUM(working_hours) AS "Total working hours" FROM employee_detail GROUP BY Name HAVING SUM(working_hours) > 5;
它将提供以下输出:
5. mysql select语句还可用于通过使用JOIN语句来检索来自多个表的记录。假设无涯教程有一个名为"customer"和"orders"的表,其中包含以下数据:
customer表
order表
执行以下SQL语句,其使用 内部连接查询:
SELECT cust_name, city, order_num, order_date FROM customer INNER JOIN orders ON customer.cust_id = orders.order_id WHERE order_date < '2020-04-30' ORDER BY cust_name;
在成功执行查询后,无涯教程将获得如下所示:
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
Tony Bai · Go语言第一课 -〔Tony Bai〕