SQL運算符及模糊查詢,空字段的處理等等._第1頁
SQL運算符及模糊查詢,空字段的處理等等._第2頁
SQL運算符及模糊查詢,空字段的處理等等._第3頁
SQL運算符及模糊查詢,空字段的處理等等._第4頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、語句所用表說明第二章:select語句:where子句過濾1.And和or運算符and運算符用于連接兩個布爾型表達式,當有所有表達式都為true時返回true,當有一個表達式返回為false時則返回false語法:Boolean_experssionandBoolean_experssion(1).利用圖書銷售表查詢圖書編號是1100010101和銷售數(shù)量為2的圖書單價Selectb_pricefromBookinfowhereb_code=1100010101andb_number=2or運算符也是用于連接兩個布爾型表達式,但是當表達式有一個為flase則返回false,語法:Boolean

2、_experssionorBoolean_experssion(1).利用圖書信息表(Bookinf查詢圖書編號(b_cod堤1100010101或者是1100010102的所有圖書信息Select*fromBookinfowhereb_code=1100010101orb_code=1100010102注意:and優(yōu)先級大于or優(yōu)先級,要想改變優(yōu)先級的級別,則用小括號括起來2.比較用算符比較用算符:運算符說明=等于號大于號=大于等于號不大于!或者!=不等于.查詢學生表中年齡為22學生的所有信息Select*fromstudenttablewherestudentage=21.查詢學生表中學號

3、大于6的學生所有信息Select*fromstudenttablewherestudentid6.查詢學生表中年齡小于21歲學生所有信息Select*fromstudenttablewherestudentage=23.查詢學生表中學號小于等于3的學生所有信息Select*fromstudenttablewherestudentid3.查詢學生表中學號不小于3的學生所有信息Select*fromstudenttablewherestudentid!3.查詢學生表中年齡不是24的學生所有信息Select*fromstudenttablewherestudentage!=24Select*from

4、studenttablewherestudentage243.in運算符In運算符是根據(jù)給定的值進行查詢數(shù)據(jù)的,它的作用和or的作用是相同的,但是用起來卻比or方便語法:test_expressionnotin(subquerylexpression.n)查詢圖書銷售表中圖書編號(b_code)為01或者02的記錄Select*fromBooksaleswhereb_codein(1100010101,1100010102)查詢圖書銷售表中圖書單價為88的記錄Select*fromBooksaleswhereb_pricein(66+22)查詢圖書銷售表中圖書單價為59.8的記錄Select*

5、fromBooksaleswhere59.8in(b_price)查詢圖書銷售表中圖書編號不為01或者02的記錄Select*fromBooksaleswhereb_codenotin(1100010101,1100010102)查詢圖書銷售表中圖書單價不為88或者58.8記錄Select*fromBooksaleswhereb_pricenotin(77+11,58+0.8)查詢圖書銷售表中圖書單價不為88的記錄Select*fromBooksaleswhere88notin(b_price)4.between.and和notbetween.and查找指定范圍數(shù)據(jù)Between.and是查詢

6、指定范圍內(nèi)的數(shù)據(jù),語法:test_expressionnotbetweenbegin_expressionandend_expression查詢學生表中年齡在20到23之間的學生姓名和學生年齡Selectstudentnameas學生姓名,studentage學生年齡fromstudenttablewherestudentagebetween20and23查詢學生表中年齡不在20到23之間的學生姓名和學生年齡Selectstudentname學生姓名,studentage”學生年齡”fromstudenttablewherestudentagenotbetween20and23查詢圖書銷售表中

7、銷售日期在2010-07-14到2010-07-16之間的圖書編號Selectb_codeas圖書編號fromBooksaleswhereb_datebetween2010-07-14and2010-07-16查詢圖書銷售表中銷售日期不在2010-07-14到2010-07-06之間的圖書編號Selectb_codeas圖書編號fromBooksaleswhereb_datenotbetween2010-07-07-14and2010-07-16注意:between.and包含邊界值!51ike和通配符的使用Like和通配符是指對數(shù)據(jù)進行模糊查詢Like謂詞只能用于char,nchar,var

8、char,nvarchar,datetime,這些數(shù)據(jù)類型通配符說明%由0個或者多個字符組成的任意字符串由1個字符組成的任意字符串a(chǎn),fa或者f的字符串,a-fa到f之接的任意單個字符AAa,f不是a或者f的字符串Fa-f不是a-f之接的任意字符串(1)查詢學生表姓名以楊開頭的所有信息Select*fromstudenttablewherestudentnamelike楊%(2)查詢學生表姓名以盼結(jié)尾的所有信息Select*fromstudenttablewherestudentnamelike%盼查詢學生表姓名以楊開頭后面是任意一個字符的所有信息Select*fromstudenttable

9、wherestudentnamelike楊_查詢學生表姓名以博字結(jié)尾姓名是兩個字符的所有信息Select*fromstudenttbalewherestudentnamelike_博查詢學生表姓名以楊或者王開頭的兩個字符的所有信息Select*fromstudenttablewherestudentnamelike楊,王_查詢學生表姓名以a或者c開頭的學生所有信息Select*fromstudenttablewherestudentnamelikea,c%查詢學生表姓名以a到c之接任意字母結(jié)尾的學生信息Select*fromstudenttablewherestudentnamelike%a-

10、c查詢學生表姓名不是a或者b或者c開頭的所有學生信息Select*fromstudenttablewherestudentnamelike4Aabc%查詢學生表姓名的開頭字母不再a到f之接的所有學生信息Select*fromstudenttablewherestudentnamelikeAa-f%利用escape將通配符轉(zhuǎn)化為實際字符Select*fromstudenttablewherestudentnamelike%胖%_escape胖6.利用isnull和notisnull查詢?yōu)榭詹粸榭諗?shù)據(jù)及處理空值的函數(shù)isnull(),nullif()空值是未知的值,但空值不包括0,一個或多個空格組

11、成的字符串,或者0長度的字符串,在實際應用中,空值說明還沒有像數(shù)據(jù)庫中插入相應的數(shù)據(jù)。isnu11()函數(shù)的使用isnu11()函數(shù)是將空值處理成指定的值(1)將聯(lián)系方式表(contact)中的姓名為楊萬波的年齡替換是21Se1ectid,names,sexs,isnu11(ages,21)asages,phonefromcontactnu11if()函數(shù)的使用nullif()函數(shù)是將制定的值處理成空值(1)將聯(lián)系方式表(contact)中的年齡為23歲的年齡用空值替換Selectid,names,sexs,nullif(ages,23)asages,phonefromcontactisnul

12、l的使用(1)查詢聯(lián)系方式表(contact)中的年齡為空的數(shù)據(jù)Select*fromcontactwhereagesisnullisnotnull的使用(1)查詢聯(lián)系方式表(contact)中的年齡不為空的數(shù)據(jù)Select*fromcontactwhereagesisnotnull注:isnull()將值替換為空值并不是將原表中的數(shù)據(jù)更改為空值,而是將查詢出來的記錄集用中的數(shù)據(jù)用null替換!nullif()同isnull()樣!如果要將查詢的結(jié)果集生成真的表則可以Selectid,names,sexs,isnull(ages,21)asages,phoneintonewcontactfro

13、mcontact7利用謂詞any或者all查詢數(shù)據(jù)AH:代表子查詢中的每一個,是且的關(guān)系,取兩個值A(chǔ)ny:代表子查詢中的每一個值,是或的關(guān)系,取一個值例如:Select*fromBookinfowhereb_priceall(selectb_pricefromBookinfowhereb_authorin(郭盼,雷雨年)就是查詢圖書價格大于作者是郭盼并且大于雷雨年的所有圖書信息,也就是大于最大值Select*fromBookinfowhereb_priceany(selectb_pricefromBookinfowhereb_authorin(郭盼,雷雨年)就是查詢圖書價格大于作者是郭盼或者大

14、于雷雨年的所有圖書信息,也就是大于最小值查詢圖書價格大于作者是雷雨年,郭盼的圖書信息Select*fromBookinfowhereb_priceall(selectb_pricefromBookinfowhereb_authorin(雷雨年,郭盼)查詢圖書價格大于作者是雷雨年或者郭盼的圖書信息Select*fromBookinfowhereb_priceany(selectb_pricefromBookinfowhereb_authorin(雷雨年,郭盼)8.exists的用法在一些情況下,只要子查詢返回一個真值或者假值,只考慮是否滿足謂詞條件,數(shù)據(jù)內(nèi)容本身并不重要的情況下,可用Exists來定義子查詢,如果子查詢返回一行或者多行,exists謂詞為真否則為假,要使exists謂詞有用,應該在自查詢中建立查詢條件以匹配自查詢連接起來的兩個表中的值!語法:existssubquery例:子查詢中查詢null返回結(jié)果為trueSelect*fromBookinfowhereexitst(selectnull)查詢

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論