SQL - SELECT 查詢



SQL SELECT 語句

SQL 的SELECT語句用於從資料庫表中提取資料,並將這些資料以表格的形式返回。這些表稱為結果集。

SQL 中可用的子句運算子可以與 SELECT 語句一起使用,以檢索資料庫表中過濾後的記錄。

語法

SELECT 查詢的基本語法如下:

SELECT column1, column2, columnN FROM table_name;

這裡,column1、column2... 是您要提取其值的表的欄位。如果要提取表中所有可用的列,則可以使用以下語法:

SELECT * FROM table_name;

示例

假設我們使用 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 姓名 年齡 地址 薪資
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

檢索選定的欄位/列

以下語句提取 CUSTOMERS 表中可用記錄的 ID、姓名和薪資欄位。

SELECT ID, NAME, SALARY FROM CUSTOMERS;

輸出

以上查詢將生成以下表格:

ID 姓名 薪資
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

檢索所有欄位/列

如果要提取 CUSTOMERS 表的所有欄位,則應使用帶有星號 (*)而不是列名的 SELECT 語句的查詢,如下所示:

SELECT * FROM CUSTOMERS;

輸出

結果表將為:

ID 姓名 年齡 地址 薪資
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

使用 SELECT 進行計算

SQL SELECT 語句還可以用於以表格形式檢索各種數學計算的結果。在這種情況下,您不需要在語句中指定任何資料庫表。

以下是執行此操作的語法:

SELECT mathematical_expression;

示例

以下是一個使用 SQL 語句將兩個給定數字相乘的示例。

SELECT 56*65;

以上查詢產生以下輸出:

56*65
3640

在 SELECT 語句中為列設定別名

每當表中的列名太難閱讀和理解時,SQL 提供了一種將此列名轉換為另一個易於理解和相關的名稱的方法。這是使用AS 關鍵字完成的。您可以在 SELECT 語句中使用 AS 關鍵字將表的列名顯示為別名。

以下是執行此操作的語法:

SELECT column_name 
AS alias_name 
FROM table_name;

您還可以使用別名以相同的語法顯示 SELECT 表示式;您應該使用數學語句代替column_name

示例

在下面的示例中,我們嘗試使用concat()表示式將客戶的姓名和年齡檢索到結果表的一列中,並將該列作為 DETAILS 設定別名,以及來自 CUSTOMERS 表的客戶地址。這將使用 SELECT 語句在以下查詢中完成:

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

以上查詢產生以下輸出:

DETAILS 地址
Chaitali 25 Mumbai
Hardik 27 Bhopal
Kaushik 23 Kota
Khilan 25 Delhi
Komal 22 Hyderabad
Muffy 24 Indore
Ramesh 32 Ahmedabad
廣告