SQL - 比較運算子



SQL 比較運算子用於比較兩個或多個表示式,並根據比較結果返回布林值(True 或 False)。以下是常用的一些 SQL 比較運算子

運算子 描述 示例
= 檢查兩個運算元的值是否相等,如果相等則條件為真。 (a = b) 不為真。
!= 檢查兩個運算元的值是否相等,如果不相等則條件為真。 (a != b) 為真。
<> 檢查兩個運算元的值是否相等,如果不相等則條件為真。 (a <> b) 為真。
> 檢查左運算元的值是否大於右運算元的值,如果大於則條件為真。 (a > b) 不為真。
< 檢查左運算元的值是否小於右運算元的值,如果小於則條件為真。 (a < b) 為真。
>= 檢查左運算元的值是否大於或等於右運算元的值,如果大於或等於則條件為真。 (a >= b) 不為真。
<= 檢查左運算元的值是否小於或等於右運算元的值,如果小於或等於則條件為真。 (a <= b) 為真。
!< 檢查左運算元的值是否不小於右運算元的值,如果大於或等於則條件為真。 (a !< b) 為假。
!> 檢查左運算元的值是否不大於右運算元的值,如果小於或等於則條件為真。 (a !> b) 為真。

在本節中,我們將學習每個運算子,並透過示例演示其用法。在繼續之前,讓我們使用以下查詢建立一個名為 CUSTOMERS 的表:

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

建立表後,我們可以使用以下查詢向表中插入一些值:

INSERT INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(1, 'Ramesh', 32, 'Ahmedabad', 2000.00);
INSERT INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(2, 'khilan', 25, 'Delhi', 1500.00);
INSERT INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(3, 'Kaushik', 23, 'Kota', 2000.00);
INSERT INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(4, 'chaitali', 25, 'Mumbai', 6500.00);
INSERT INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(5, 'Hardhik', 27, 'Bhopal', 8500.00);
INSERT INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(6, 'komal', 22, 'MP', 4500.00);
INSERT INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(7, 'Muffy', 24, 'Indore', 10000.00 );

讓我們使用以下查詢驗證表是否已建立:

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 Hardhik 27 Bhopal 8500.00
6 Komal 22 MP 4500.00
7 Muffy 24 Indore 10000.00

現在,讓我們使用以上表執行所有 SQL 比較操作。

SQL 等於 (=) 運算子

SQL 中的等於運算子用於檢查兩個值是否相等。它用於篩選與特定條件匹配的值的行。

示例

在以下查詢中,我們嘗試執行等於 (=) 操作以檢索所有年齡等於 25 的客戶。

SELECT * FROM customers WHERE age = 25;

輸出

執行上述查詢後,獲得的輸出如下所示:

ID 姓名 年齡 地址 薪資
2 Khilan 25 Delhi 1500.00
4 Chaitali 25 Mumbai 6500.00

SQL 不等於 (!= 或 <>) 運算子

SQL 中的不等於運算子檢查兩個表示式是否不相等。它用於篩選與特定條件不匹配的值的行。

示例

在以下示例中,我們嘗試檢索所有年齡不等於 25 且薪資也不等於 2000 的客戶。

SELECT * FROM customers WHERE age != 25 and SALARY <> 2000;

輸出

執行上述查詢後,獲得的輸出如下所示:

ID 姓名 年齡 地址 薪資
5 Hardhik 27 Bhopal 8500.00
6 Komal 22 MP 4500.00
7 Muffy 24 Indore 10000.00

SQL 大於 (>) 運算子

SQL 中的大於運算子用於返回具有大於指定值的值的行。它檢查左表示式是否大於右表示式。它用於篩選高於特定閾值的值的行。

示例

以下查詢檢索“customers”表中“age”列大於 25 的所有行。

SELECT * FROM customers WHERE age > 25;

輸出

執行上述查詢後,顯示的輸出如下所示:

ID 姓名 年齡 地址 薪資
1 Ramesh 32 Ahmedabad 2000.00
5 Hardhik 27 Bhopal 8500.00

SQL 小於 (<) 運算子

SQL 中的小於運算子用於返回具有小於指定值的值的行。它檢查左表示式是否小於右表示式。它用於篩選低於特定閾值的值的行。

示例

現在,我們檢索所有薪資低於 5000 的客戶。

SELECT * FROM customers WHERE salary < 5000;

輸出

以上查詢生成的表如下所示:

ID 姓名 年齡 地址 薪資
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
6 Komal 22 MP 4500.00

SQL 大於或等於 (>=) 運算子

SQL 中的大於或等於運算子用於返回具有大於或等於指定值的值的行。它檢查左表示式是否大於或等於右表示式。它用於篩選等於或高於特定限制的值的行。

示例

現在,我們檢索所有薪資大於或等於 4500 的客戶。

SELECT * FROM customers WHERE salary >= 4500;

輸出

以下是上述查詢的輸出:

ID 姓名 年齡 地址 薪資
4 Chaitali 25 Mumbai 6500.00
5 Hardhik 27 Bhopal 8500.00
6 Komal 22 MP 4500.00
7 Muffy 24 Indore 10000.00

SQL 小於或等於 (<=) 運算子

SQL 中的小於或等於運算子用於返回具有小於或等於指定值的值的行。它檢查左表示式是否小於或等於右表示式。它用於篩選等於或低於特定限制的值的行。

示例

這裡,我們檢索所有年齡小於或等於 25 的客戶。

SELECT * FROM customers WHERE age <= 25;

輸出

生成的輸出如下所示:

ID 姓名 年齡 地址 薪資
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
6 Komal 22 MP 4500.00
7 Muffy 24 Indore 10000.00

SQL 不小於 (!<) 運算子

SQL 中的不小於運算子用於返回不小於(即大於或等於)指定值的值的行。它檢查左表示式是否大於或等於右表示式。它用於篩選等於或高於特定限制的值的行。

示例

這裡,我們檢索所有年齡不小於 25 的客戶。

SELECT * FROM customers WHERE age !< 25;

輸出

以上程式碼的輸出如下所示:

ID 姓名 年齡 地址 薪資
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
4 Chaitali 25 Mumbai 6500.00
5 Hardhik 27 Bhopal 8500.00

SQL 不大於 (!>) 運算子

SQL 中的不大於運算子用於返回不大於(即小於或等於)指定值的值的行。它檢查左表示式是否小於或等於右表示式。它用於篩選等於或低於特定限制的值的行。

示例

這裡,我們檢索所有薪資不大於 5000 的客戶。

SELECT * FROM customers WHERE salary !> 5000;

輸出

以上程式碼的輸出如下所示:

ID 姓名 年齡 地址 薪資
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
6 Komal 22 MP 4500.00
sql-operators.htm
廣告

© . All rights reserved.