MySQL - 查询数据

MySQL - 查询数据 首页 / MySQL入门教程 / MySQL - 查询数据

MySQL中的SELECT语句用于从一个或多个表中获取数据。无涯教程可以使用此语句检索与指定条件匹配的所有字段或指定字段的记录。

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 NameDescriptions
field_name(s) or *它用于指定一个或多个列以在结果集中返回。星号(*)返回表的所有字段。
table_name(s)它是无涯教程想要获取数据的表的名称。
WHERE这是一个可选条件。它指定返回结果集中匹配记录的条件。
GROUP BY它是可选的。它从多个记录中收集数据,并通过一个或多个列分组。
HAVING它是可选的。它适用于Group By子句,并仅返回其条件为true的行。
ORDER BY它是可选的。它用于对结果集中的记录进行排序。
OFFSET它是可选的。它指定首先返回哪个行。默认情况下,它以零开头。
LIMIT它是可选的。它用于限制结果集中的返回记录的数量。

SELECT示例

让无涯教程了解在的选择命令如何在各种示例的帮助下工作。假设有一个名为 employee_detail 的表,其中包含以下数据:

MySQL SELECT Statement

1. 如果无涯教程想从表中检索单列,需要执行以下查询:

mysql> SELECT Name FROM employee_detail;

将获得以下输出,只能看到一个列记录。

MySQL SELECT Statement

2. 如果无涯教程想从表中查询多列,需要执行以下查询:

mysql> SELECT Name, Email, City FROM employee_detail;

将获得以下结果,可以看到员工的Name,Email和City。

MySQL SELECT Statement

3. 如果无涯教程想从从表的所有列中获取数据,需要使用select语句使用所有列的名称。指定所有列名称对用户不方便,因此MySQL使用星号(*)来检索所有列数据,如下所示:

mysql> SELECT * FROM employee_detail;

将获得以下输出,可以看到表的所有列。

MySQL SELECT Statement

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;

它将提供以下输出:

链接:https://www.learnfk.comhttps://www.learnfk.com/mysql/mysql-select.html

来源:LearnFk无涯教程网

MySQL SELECT Statement

5. mysql select语句还可用于通过使用JOIN语句来检索来自多个表的记录。假设无涯教程有一个名为"customer""orders"的表,其中包含以下数据:

customer表

MySQL SELECT Statement

order表

MySQL SELECT Statement

执行以下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;

在成功执行查询后,无涯教程将获得如下所示:

MySQL SELECT Statement

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

软件测试52讲 -〔茹炳晟〕

全栈工程师修炼指南 -〔熊燚(四火)〕

苏杰的产品创新课 -〔苏杰〕

性能测试实战30讲 -〔高楼〕

Serverless入门课 -〔蒲松洋(秦粤)〕

To B市场品牌实战课 -〔曹林〕

说透5G -〔杨四昌〕

Web漏洞挖掘实战 -〔王昊天〕

B端产品经理入门课 -〔董小圣〕

好记忆不如烂笔头。留下您的足迹吧 :)