Sql 简明教程

SQL - SELECT Query

The SQL SELECT Statement

SQL SELECT 语句用于从数据库表中获取以表格形式返回此数据的数据。这些表格称为结果集。

Syntax

SELECT 查询的基本语法如下 -

SELECT column1, column2, columnN FROM table_name;

这里,column1, column2…​ 是你要获取其值的表的字段。如果您想要获取表中可用所有列,则可以使用以下语法 -

SELECT * FROM table_name;

Example

假设已使用如下所示的 CREATE TABLE 语句创建了一个名为 CUSTOMERS 的表:

CREATE TABLE CUSTOMERS (
   ID INT NOT NULL,
   NAME VARCHAR (20) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR (25),
   SALARY DECIMAL (18, 2),
   PRIMARY KEY (ID)
);

现在,使用如下所示的 INSERT 语句向此表中插入值:

INSERT INTO CUSTOMERS VALUES
(1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ),
(2, 'Khilan', 25, 'Delhi', 1500.00 ),
(3, 'Kaushik', 23, 'Kota', 2000.00 ),
(4, 'Chaitali', 25, 'Mumbai', 6500.00 ),
(5, 'Hardik', 27, 'Bhopal', 8500.00 ),
(6, 'Komal', 22, 'Hyderabad', 4500.00 ),
(7, 'Muffy', 24, 'Indore', 10000.00 );

该表将被创建为:

ID

NAME

AGE

ADDRESS

SALARY

1

Ramesh

32

Ahmedabad

2000.00

2

Khilan

25

Delhi

1500.00

3

Kaushik

23

Kota

2000.00

4

Chaitali

25

Mumbai

6500.00

5

Hardik

27

Bhopal

8500.00

6

Komal

22

Hyderabad

4500.00

7

Muffy

24

Indore

10000.00

Retrieving Selected Fields/Columns

以下语句获取 CUSTOMERS 表中的可用记录的 ID、Name 和 Salary 字段。

SELECT ID, NAME, SALARY FROM CUSTOMERS;

Output

以上查询将生成以下表格 -

ID

NAME

Salary

1

Ramesh

2000.00

2

Khilan

1500.00

3

Kaushik

2000.00

4

Chaitali

6500.00

5

Hardik

8500.00

6

Komal

4500.00

7

Muffy

10000.00

Retrieving All Fields/Columns

如果您想要获取 CUSTOMERS 表的所有字段,则应在 SELECT 语句的查询中使用 Asterisk ( )* 而非列名称,如下所示 -

SELECT * FROM CUSTOMERS;

Output

结果表格将为 -

ID

NAME

AGE

ADDRESS

SALARY

1

Ramesh

32

Ahmedabad

2000.00

2

Khilan

25

Delhi

1500.00

3

Kaushik

23

Kota

2000.00

4

Chaitali

25

Mumbai

6500.00

5

Hardik

27

Bhopal

8500.00

6

Komal

22

Hyderabad

4500.00

7

Muffy

24

Indore

10000.00

Computing Using SELECT

SQL SELECT 语句还可以用于以表格形式检索各种数学计算结果。在这些情况下,您无需在语句中指定任何数据库表。

以下是执行此操作的语法 −

SELECT mathematical_expression;

Example

以下是一个使用 SQL 语句将给定的两个数字相乘的示例。

SELECT 56*65;

以上查询生成以下输出 -

56*65

3640

Aliasing a Column in SELECT Statement

每当表中的列名称太难阅读和理解时,SQL 提供了一种方法来别名此列名称为另一个可理解且相关的名称。这是使用 AS keyword 完成的。您可以在 SELECT 语句中使用 AS 关键字将表的列名称显示为别名名称。

以下是执行此操作的语法 −

SELECT column_name
AS alias_name
FROM table_name;

您还可以使用别名以相同的语法显示 SELECT 表达式;您应使用数学语句而非 column_name。

Example

在以下示例中,我们尝试使用 concat() 表达式和将列别名为 DETAILS 以及 CUSTOMERS 表中的客户地址,在一个结果表的一列中检索客户详细信息 NAME 和 AGE。这将在以下查询中使用 SELECT 语句完成 -

SELECT CONCAT(NAME,' ',AGE)
AS DETAILS, ADDRESS
FROM CUSTOMERS ORDER BY NAME;

以上查询生成以下输出 -

DETAILS

ADDRESS

Chaitali 25

Mumbai

Hardik 27

Bhopal

Kaushik 23

Kota

Khilan 25

Delhi

Komal 22

Hyderabad

Muffy 24

Indore

Ramesh 32

Ahmedabad