- SQL語言從入門到精通
- 明日科技編著
- 1228字
- 2024-12-27 22:16:35
1.5 運算符
運算符是一種符號,用來進行常量、變量或者列之間的數學運算和比較操作,它是SQL語句中很重要的部分。運算符包括算術運算符、賦值運算符、比較運算符、邏輯運算符、位運算符和連接運算符等。
1.5.1 算術運算符
算術運算符在兩個表達式上執行數學運算,這兩個表達式可以是數字數據類型分類的任何數據類型。
算術運算符包括:+(加)、?(減)、×(乘)、/(除)、%(取余)。
例如:5-3=2,3%5=3。
【例1.5】 利用“%”運算符求50對80取余的值。(實例位置:資源包\TM\sl\1\5)
在db_mrsql數據庫中,使用DECLARE關鍵字聲明3個整型變量,使用SELECT關鍵字為變量@A和變量@B分別賦值“50”和“80”。然后使用SET關鍵字為變量@c賦值,將變量@A對@B取余的結果賦給變量@C。最后使用PRINT關鍵字輸出變量@C的信息內容。SQL語句如下:
use db_mrsql --使用db_mrsql數據庫 DECLARE @A int ,@B int,@C int --聲明3個整型變量 --使用select關鍵字為變量@A和變量@B分別賦值為“50”和“80” SELECT @A=50,@B=80 --使用SET關鍵字為變量@c賦值,將變量@A對@B取余的結果賦給變量@C SET @C=@A%@B PRINT @C --使用PRINT關鍵字輸出變量@C的信息內容
執行此SQL語句,運行結果如圖1.6所示。

圖1.6 50對80取余的值
注意
取余運算兩邊的表達式必須是整型數據。
1.5.2 賦值運算符
SQL中的賦值運算符為“=”。在下面的示例中,先創建“@studentname”變量,然后使用賦值運算符將“@studentname”設置成一個由表達式返回的值。
【例1.6】 使用SET關鍵字為變量賦值。(實例位置:資源包\TM\sl\1\6)
在db_mrsql數據庫中,使用DECLARE關鍵字聲明一個變量@studentname,并使用SET關鍵字為該變量賦值,最后使用PRINT關鍵字輸出該變量的值。SQL語句如下:
use db_mrsql --使用db_mrsql數據庫 DECLARE @studentname char(20) --使用declare聲明一個變量 --使用set關鍵字為@studentname變量賦值為“Jack” SET @studentname='Jack' PRINT '字符串的值為:'+@studentname
執行此SQL語句,運行結果如圖1.7所示。
另外,還可以使用SELECT語句進行賦值。
【例1.7】 使用SELECT語句進行賦值。(實例位置:資源包\TM\sl\1\7)

圖1.7 使用SET關鍵字進行賦值
在db_mrsql數據庫中,使用DECLARE關鍵字聲明一個變量@studentname,使用SELECT語句進行賦值,最后使用PRINT關鍵字輸出該值。SQL語句如下:
USE db_mrsql --使用db_mrsql數據庫 DECLARE @studentname char(20) --使用declare聲明一個變量 SELECT @studentname='Luck' --使用select關鍵字為該變量賦值 PRINT @studentname --使用PRINT關鍵字輸出變量的值
執行此SQL語句,運行結果如圖1.8所示。

圖1.8 使用SELECT語句進行賦值
1.5.3 邏輯運算符
邏輯運算符可對某個條件進行測試,以獲得其真假情況。邏輯運算符和比較運算符一樣,返回帶有TRUE或FALSE值的布爾數據類型。SQL支持的邏輯運算符如表1.7所示。
表1.7 SQL支持的邏輯運算符

例如:20>10 AND 7>6的運算結果為TRUE。
【例1.8】 查詢所在班級為4108班且成績大于60分的學生信息。(實例位置:資源包\TM\sl\1\8)
在db_mrsql數據庫的學生信息表tb_student03中,查詢學生所在班級為4108班且學生成績大于60分的學生的基本信息。SQL語句如下:
use db_mrsql --使用db_mrsql數據庫 --查詢所在班級為4108班并且學生成績大于60分的學生的基本信息 SELECT * FROM tb_student03 WHERE 所在班級='4108班' AND 學生成績>'60'
執行此SQL語句,運行結果如圖1.9所示。

圖1.9 查詢所在班級為4108班且成績大于60分的學生信息
需要注意的是,當NOT、AND和OR出現在同一表達式中,其優先級從高到低分別為NOT、AND和OR。例如:
1>2 OR 106>100 AND NOT 8>7
這里,首先計算NOT 8>7,其結果FALSE;然后計算106>100 AND FALSE,其結果FALSE;最后計算1>2 OR FALSE,最終結果仍為FALSE。
- C# 7 and .NET Core Cookbook
- ReSharper Essentials
- 劍指JVM:虛擬機實踐與性能調優
- Animate CC二維動畫設計與制作(微課版)
- Elastic Stack應用寶典
- H5頁面設計:Mugeda版(微課版)
- D3.js By Example
- Vue.js應用測試
- SQL Server 2016 從入門到實戰(視頻教學版)
- QGIS 2 Cookbook
- Modernizing Legacy Applications in PHP
- Python程序設計教程
- 黑莓(BlackBerry)開發從入門到精通
- Android高級開發實戰:UI、NDK與安全
- Android嵌入式系統程序開發(基于Cortex-A8)