本文分享自華為雲社群《GaussDB SQL基礎語法示例-BOOLEAN表示式》,作者:Gauss松鼠會小助手2。
一、前言
SQL是用於訪問和處理資料庫的標準計算機語言。GaussDB支援的SQL標準(預設支援SQL2、SQL3和SQL4的主要特性)。
本系列將以《雲資料庫GaussDB—SQL參考》為主線進行介紹。
二、GaussDB SQL 中的BOOLEAN表示式介紹
1、概念
在GaussDB資料庫中,BOOLEAN表示式是一種很常見的表示式型別,它用於比較兩個條件,來確定其是否為真或假。BOOLEAN表示式可以用於條件判斷或在迴圈語句中作為終止條件。其語法非常簡單,只需要使用邏輯運算子對兩個條件進行比較。GaussDB SQL支援AND、OR等邏輯運算子,這些運算子可以將結果組合成更復雜的布林表示式。
2、組成
• 運算子:比較運算子(如=、<>、<、>、<=、>=)和邏輯運算子(如AND、OR、NOT等)。
• 運算元:用於比較的欄位值或常量。
3、語法示例
如下截圖是遊標使用中的SQL部分,SQL中涉及到BOOLEA表示式用於條件判斷和迴圈語句部分,可參考:
1)條件判斷,見紅色方框
“v_salary>=20000”,在這個例子中,當v_salary >= 20000 時,則執行THEN 後面的 UPDATE語句。
2)迴圈語句,見藍色方框
“%NOTFOUND”,是遊標的屬性之一,用於控制程式流程或者瞭解程式的狀態。當最近的DML(資料操作語言)操作(如INSERT,UPDATE,DELETE等)沒有影響任何行時,該屬性為真。'EXIT WHEN c1%NOTFOUND;' 就會執行。
三、在GaussDB SQL中的基礎應用
使用布林表示式可以根據特定條件對結果進行過濾,只返回滿足條件的資料。以下是一些在SELECT列表中使用布林表示式的示例。
1、示例1,使用比較運算子
--根據工資是否大於2w判斷其是否為高工資,返回TRUE或FALSE SELECT * ,(salary > 20000) AS high_salary FROM company;
上述SQL示例中,我們從company表中選擇name、age、address、salary和一個布林表示式(salary > 20000),該表示式用於判斷員工的工資是否高收入。 結果集中的high_salary列將顯示布林值TRUE或FALSE。
2、示例2,使用邏輯運算子
--根據年齡是否在18-60之間,判斷其是否為有效年齡,返回TRUE或FALSE SELECT * ,(age >= 18 AND age <= 60) AS valid_age FROM company;
上述SQL示例中,我們從company表中選擇name、age、address、salary和一個布林表示式(age >= 18 AND age <= 60),該表示式用於判斷員工的年齡是否有效。 結果集中的valid_age列將顯示布林值TRUE或FALSE。
3、示例3,使用IS NOT NULL運算子
--判斷地址是否為空,返回TRUE或FALSE SELECT * ,(address IS NOT NULL) AS null_address FROM company;
上述SQL示例中,我們從company表中選擇name、age、address、salary和一個布林表示式(address IS NOT NULL),該表示式用於判斷員工的地址是否為空值。 結果集中的null_address列將顯示布林值TRUE或FALSE。
4、示例4,使用like模式匹配運算子
LIKE:判斷字串是否能匹配上LIKE後的模式字串。如果字串與提供的模式匹配,則LIKE表示式返回為真(NOT LIKE表示式返回假),否則返回為假(NOT LIKE表示式返回真)。
--判斷地址是否是CN,返回TRUE或FALSE SELECT * ,(address LIKE 'CN%') AS c_address FROM company;
上述SQL示例中,我們從company表中選擇name、age、address、salary和一個布林表示式(address LIKE 'CN%'),該表示式用於判斷員工的地址是否在CN。 結果集中的c_address列將顯示布林值TRUE或FALSE。
附:在GaussDB SQL中還有一個模式匹配運算子SIMILAR TO。
描述:SIMILAR TO運算子根據自己的模式是否匹配給定串而返回真或者假。他和LIKE非常類似,只不過他使用SQL標準定義的正規表示式理解模式。
四、小結
BOOLEAN表示式在SQL中非常常用,它們允許開發人員構建邏輯語句,這些語句能夠對錶中的資料進行復雜的過濾和選擇。透過使用布林表示式,查詢結果可以縮小到滿足特定條件的行,或者可以根據這些條件對資料進行聚合和分組。
總之,布林表示式可以幫助我們進行邏輯判斷和迴圈控制,提高程式碼的可讀性。 熟練掌握BOOLEAN表示式的使用,在GaussDB SQL等開發過程中非常重要。
點選關注,第一時間瞭解華為雲新鮮技術~