SQL SERVER 系列(5)select複雜查詢

SQL SERVER 系列(5select複雜查詢

首先來說一下select語法

select 字段名列表 from 表名 [where=條件]

其中字段名列表指的是查詢的字段名,表名是要查詢的表,where條件是隻查詢滿足條件的記錄。

注意:1:如果是所有字段可用*表示

      2:如果是所有記錄,則可省略where條件

下面來看個實例,對其瞭解更深一步。

實例:在員工表中查看佟湘玉的年齡和性別

select 性別,年齡 from yuangong where 姓名='佟湘玉'

 

好了有了上面的基礎我們來看看select複雜查詢常結合的運算符。運算符是一些符號,它們能夠用來執行算術運算、字符串連接、賦值以及在字段、常量和變量之間進行比較。下面爲大家說說一些常用的運算符。

1:算術運算符:包括加(+)、減()、乘(*)、除(/)和取模(取餘)(%

2:字符型運算符:

3:關係型運算符:

4:邏輯字符型:

下面爲大家詳細的說明一下。

一:算術運算符

算術運算符:+、-、*(乘)、/(整除)、%(取餘也叫取模)

先來對這幾個符號熟悉熟悉一下。

select 100 + 200(結果300

select 200 – 100 (結果100

select 200 * 100 (結果20000

select 200 / 100 (結果2

select 123 % 10 (結果3

對這幾個運算符號有了一定的瞭解,下面來看個實例

實例:將yuangong表中所有人工資提升10%

update yuangong set 工資=工資+工資*0.1

 

二:字符型運算符

在這裏引入了like +(用於模糊查詢)

語法:

Select 字段名列表 from 表名 where 字段名 like’表達式

表達式指:1% (通配符)可以通配任意多個任意字符

          2_ (通配符)可以通配一個任意字符

          3[a-z] (通配符)通配從小寫a到小寫z的任一個字母

          4[^a-z] (通配符)通配除小寫以外的任意字符

通過實例來進一步的瞭解。

實例:在yuangong表中查找姓李的員工記錄

select * from yuangong where 姓名 like '%'

實例:在yuangong表中查找2005年參加工作的員工信息

select * from yuangong where 工作日期 like '%2005%'

實例:在yuangong表中查找二月份參加工作的員工信息

select * from yuangong where 工作日期 like '02%'

實例:顯示yuangong表中郵政編碼正確的員工信息

select * from yuangong where 郵政編碼 like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9]'

實例:顯示yuangong表中郵政編碼含%的錯誤員工信息

select * from yuangong where 郵政編碼 like '%[%]%'

或者select * from yuangong where 郵政編碼 like '%!%%' escape'!'(這裏的意思是說明!後面是個指定字符不是通配符)

 

字符型運算符就說這麼多,繼續下面的知識。

三:關係型運算符

關係型字符:><>=(大於等於)<=(小於等於)<>!=(不等於)

關係型運算符比較簡單在這不多介紹了。

實例:顯示yuangong表中年齡不等於20

select * from yuangong where 年齡<>20

 

四:邏輯運算符

基本預算:“與” and用表示 參與運算條件全部真時,則結果爲真

         “或” or用表示 參與運算的條件只有一個真,結果爲真

         “非” not用表示 對現有條件取反

同上面一樣我們用實例來詳細的說明一下:

實例:顯示yuangong表中年齡20以上的男同志信息

select * from yuangong where 年齡>20 and 性別=''

實例:顯示南京和河北的男同志信息

select * from yuangong where 性別='' and 籍貫='南京' or 性別='' and 籍貫='河北'

或者select * from yuangong where 性別='' and (籍貫='南京' or  籍貫='河北')

 

常用的運算符大致就是上面所說的,下面再說說常與select結合的一些常用語法。

五:select常結合的命令

         In

語法:

Where 字段名 in (字段值列表)

實例:顯示籍貫是北京、河北、南京的員工的信息

select * from yuangong where  籍貫 in ('河北','北京','南京')

          between

語法:

Where 字段名 between 1 and 2

實例:顯示年齡在2030之間的員工的信息

select * from yuangong where 年齡 between 20 and 30

         distinct

作用:相同輸出值只顯示一次

實例:顯示yuangong表中的部門名稱

select distinct 部門 from yuangong

         top

作用:從第一記錄開始顯示n

如:top1顯示第一條,top2顯示的二條

實例:顯示yuangong表中的前3條記錄

select top 3 * from yuangong

         is null

在這裏這個命令是用來處理空值

 

實例:顯示yuangong表中郵政編碼爲空的員工信息

select * from yuangong where 郵政編碼 is null

實例:顯示yuangong表中郵政編碼不爲空的員工信息

select * from yuangong where not 郵政編碼 is null

 

 

今天說的都是些常用的命令,會給我們管理數據庫帶來很多方便。此篇博文就到這了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章