版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ACCESS的SQL到ACCESS數(shù)據(jù)庫(kù)的SQL
125SQL
;61、查詢所有記錄:通常用于快速查看表中的記錄。當(dāng)對(duì)表的結(jié)構(gòu)無(wú)法確切記憶時(shí),或要快速查看表中的記錄時(shí),使用的。e企業(yè)銷(xiāo)售管理系統(tǒng)m職工2、投影查詢:很多時(shí)候并不需要將所有列的數(shù)據(jù)都顯示出來(lái)。投影查詢就是允許用戶顯示所需要的列。假設(shè)顯示職工表中職工號(hào)、姓名、工資信息,具體操作方法如下。t職工號(hào)姓名工資m職工在查詢中,還可以按照實(shí)際的需要或自己的喜好安排顯示列的順序,如果要把姓名放到第一列,則代碼如下:
姓名,職工號(hào)工資m職工3、條件查詢:顯示wh1或wh2倉(cāng)庫(kù)、性別不為女、工資在1300~2100間的職工信息。具體操作如下:職工號(hào)倉(cāng)庫(kù)號(hào)倉(cāng)庫(kù)號(hào)t性別女d工資d工資工資<=2100在這里一定要注意,倉(cāng)庫(kù)號(hào)倉(cāng)庫(kù)號(hào)否則就不是原題的意思。
4、謂詞查詢:在查找特定條件的數(shù)據(jù)時(shí),如果條件較多,就需要用到多個(gè)Or運(yùn)算符,以查找滿足其中任一條的記錄。但使用多個(gè)Or運(yùn)算符,將使Where子句變得過(guò)于冗長(zhǎng),這時(shí)使用就非常清楚。另外,在后面講解的嵌套查詢中,也必須使用查詢。下面以顯示、、、的訂購(gòu)單信息為例具體講解一下。使用Or運(yùn)算符訂購(gòu)單e職工號(hào)職工號(hào)
Or職工號(hào)職工號(hào)使用謂詞Use企業(yè)銷(xiāo)售管理系統(tǒng)訂購(gòu)單e職工號(hào)在語(yǔ)句中,還支持與Not結(jié)合使用。假設(shè)顯示職工號(hào)不為的訂購(gòu)單信息,具體代碼如下:使用Or運(yùn)算符訂購(gòu)單e職工號(hào)職工號(hào)
Or職工號(hào)職工號(hào)使用謂詞Use企業(yè)銷(xiāo)售管理系統(tǒng)訂購(gòu)單e職工號(hào)5、模糊查詢:有的時(shí)候,我們不清楚所要查詢的信息,如顯示職工信息,但不能確定該職工的姓名,只知道他姓名中含有王如何查找呢?SQL中提供了關(guān)鍵字,使用進(jìn)行了查詢時(shí),還要指定通配符。通配符及其含義
通配符 含義% 包含0個(gè)或多個(gè)字符
_(下畫(huà)包含一個(gè)字符線)
[] 指定范圍(如[]]不屬于指定范圍([])
在SQL語(yǔ)句中,還支持與Not結(jié)合使用。假設(shè)顯示姓名中不含有王字的職工信息,具體代碼如下:
職工e姓名王在該例中,如果你知道姓名中含有王字,并且姓名只有兩個(gè)字,那么可以進(jìn)一步縮小查找范圍,具體代碼如下:職工e姓名王這樣就可以查找到姓名中只有兩個(gè)字,并且姓為王6、空值NULL查詢:在SQL語(yǔ)句中使用ISNULL判斷。下面以顯示性別為空的職工信息為例具體講解一下。職工e性別假設(shè)顯示性別不為空的職工信息,具體代碼如下:
職工e性別7、限制范圍Between…And查詢:在數(shù)據(jù)醫(yī)療隊(duì)引擎查詢中,限制范圍也是經(jīng)常使用的一個(gè)條件。當(dāng)然可以使用大于等于號(hào)、小于等于號(hào)和And運(yùn)算符三者來(lái)完成范圍的限制,但使用BetweeSQL更清楚。下面以顯示工資在1300~1900之間的職工信息為例具體講解一下。Between…And語(yǔ)句職工e工資Between1300And1900大于等于號(hào)、小于等于號(hào)與And運(yùn)算符職工e工資>=1300And工資<=1900在SQL語(yǔ)句中,還支持Between…And與Not結(jié)合使用。假設(shè)顯示工資不在1300~1900之間的職工信息,具體代碼如下:Between…And語(yǔ)句職工e工資n1300And1900大于等于號(hào)、小于等于號(hào)與And運(yùn)算符職工e工資<=1300And工資>=19008、消除重復(fù)字段數(shù)據(jù)Distinct查詢:在SQL投影查詢中,可能會(huì)有許多重復(fù)的數(shù)據(jù),使用關(guān)鍵字Distinct就可以從結(jié)果集中除去重復(fù)的數(shù)據(jù)。下面以顯示職工的工資信息為例具體講解一下:顯示有重復(fù)的數(shù)據(jù)
t工資職工
顯示無(wú)重復(fù)的數(shù)據(jù)
tDistinct工資9、單表嵌套查詢:就是外層語(yǔ)句與內(nèi)層一張表。下面以顯示倉(cāng)庫(kù)面積大于wh1倉(cāng)庫(kù)面積的倉(cāng)庫(kù)信息為例來(lái)講解一下。首先利用語(yǔ)句求出wh1倉(cāng)庫(kù)的倉(cāng)庫(kù)面積,然后再顯示面積大于該值的倉(cāng)庫(kù)信息。倉(cāng)庫(kù)e面積t面積m倉(cāng)庫(kù)e倉(cāng)庫(kù)號(hào)嵌套查詢中也可以帶有邏輯運(yùn)算符、謂詞In、Like、Between…And結(jié)構(gòu)。假設(shè)顯示wh1或wh2倉(cāng)庫(kù)的工資不大于職工zg16工資的職工信息,并要求職工姓名不含有“平”字。
首先利用語(yǔ)句求出職工zg16的工資,然后再對(duì)姓名進(jìn)行模糊查詢。職工e工資t工資m職工e職工號(hào)d姓名平d倉(cāng)庫(kù)號(hào)10、多表嵌套查詢:多表嵌套查詢就是外層語(yǔ)句與內(nèi)層語(yǔ)句來(lái)源于不同的表,但表之間要存在關(guān)系。這也是SQL語(yǔ)句中最重要的查詢。下面以顯示北京地區(qū)的職工信息為例來(lái)講解一下。
首先利用語(yǔ)句求出北京地區(qū)的倉(cāng)庫(kù)號(hào),然后利用倉(cāng)庫(kù)號(hào)再顯示職工信息。
e企業(yè)銷(xiāo)售管理系統(tǒng)m職工e倉(cāng)庫(kù)號(hào)t倉(cāng)庫(kù)號(hào)e城市
北京不僅可以實(shí)現(xiàn)兩個(gè)表的嵌套,還可以實(shí)現(xiàn)多個(gè)表的嵌套,假設(shè)顯示北京地區(qū)的職工的訂購(gòu)單信息。首先利用語(yǔ)句得到北京地區(qū)的倉(cāng)庫(kù)號(hào),然后利用得到的倉(cāng)庫(kù)號(hào)得到該倉(cāng)庫(kù)中的職工號(hào),再利用得到的職工號(hào)得到職工的訂購(gòu)單信息。m訂購(gòu)單e職工號(hào)t職工號(hào)m職工倉(cāng)庫(kù)號(hào)t倉(cāng)庫(kù)號(hào)m倉(cāng)庫(kù)where城市北京多表嵌套查詢中也可以帶有邏輯運(yùn)算符、謂詞、、Between、And結(jié)構(gòu)。假設(shè)顯示北京地區(qū)的職工的訂購(gòu)單信息,并且職工的工資大于1200,訂購(gòu)日期為2003年9月3日~2006年1月1日。
m訂購(gòu)單e職工號(hào)t職工號(hào)m職工工資倉(cāng)庫(kù)號(hào)t倉(cāng)庫(kù)號(hào)m倉(cāng)庫(kù)where城市北京訂購(gòu)日期11、單級(jí)排序查詢:排序的關(guān)鍵字是,默認(rèn)狀態(tài)下是升序,關(guān)鍵字是Asc。降序排列的關(guān)鍵字是Desc。排序字段可以是數(shù)值型,也可以是字符型、日期時(shí)間型。下面以按工資從高到低顯示職工信息為例來(lái)講解一下。m職工y工資在排序查詢中還可以帶有邏輯運(yùn)算符、謂詞、、Between、And結(jié)構(gòu)。假設(shè)顯示wh1或wh2倉(cāng)庫(kù)的,工資不大于職工信息,并要求職工姓名不含有平字,按工資從低到高顯示。
首先利用語(yǔ)句求出職工的工資,然后再對(duì)姓名進(jìn)行模糊查詢,最后再排序。m職工e工資t工資m職工ed姓名平倉(cāng)庫(kù)號(hào)工資12、多級(jí)排序查詢:按照一列進(jìn)行排序后,如果該列有重復(fù)的記錄值,則重復(fù)記錄值這部分就沒(méi)有進(jìn)行有效的排序,這就需要再附加一個(gè)字段,作為第二次排序的標(biāo)準(zhǔn),對(duì)沒(méi)有排開(kāi)的記錄進(jìn)行再排列。下面以按工資從高到低顯示職工信息為例來(lái)講解一下。單級(jí)排序,按工資降序。m職工y工資多級(jí)排序,先按工資降序,再按職工ID升序。
m職工y工資職工 13、與別名一起使用的統(tǒng)計(jì)函數(shù):在實(shí)際編程中,有時(shí)候需要知道所有記錄某項(xiàng)值的總和、平均值、最大值等,這時(shí)就要用到統(tǒng)計(jì)函數(shù)查詢。常用的統(tǒng)計(jì)函數(shù)共有6個(gè)。統(tǒng)計(jì)函數(shù)及其意義
統(tǒng)計(jì)函數(shù) 含義COUNT(*) 統(tǒng)計(jì)選擇的記錄的個(gè)數(shù)COUNT() 統(tǒng)計(jì)特定列中值的個(gè)數(shù)
SUMAVG()MAXNIN()計(jì)算總和(必須是數(shù)值型字段)計(jì)算平均值(必須是數(shù)值型字段)在使用統(tǒng)計(jì)函數(shù)時(shí),還要注意COUNT()、SUM()、AVG()可以使用DISTINCT關(guān)鍵字,以在計(jì)算機(jī)中不包含重復(fù)的行。而對(duì)于MAX()、MIN()、COUNT(*),由于不會(huì)改變其結(jié)果,因此沒(méi)有必要使用DISTINCT。利用SELECT語(yǔ)句顯示統(tǒng)計(jì)值是沒(méi)有列名的,下面以顯示職工的最大值、最小值、工資總和、平均工資、職工人數(shù)為例來(lái)講解一下。工資工資工資工資m這時(shí)會(huì)發(fā)現(xiàn)統(tǒng)計(jì)值沒(méi)有列名,現(xiàn)在來(lái)給統(tǒng)計(jì)字段添加列名。工資s最大工資工資最小工資,SUM(工資s資總和工資s平均工資s職工人數(shù)m職工在統(tǒng)計(jì)函數(shù)中還可以加條件,假設(shè)顯示工資大于1500的職工的最大值、最小值、工資總和、平均工資、職工人數(shù)信息。工資s最大工資工資最小工資,SUM(工資s資總和工資s平均工資s職工人數(shù)m職工e工資>150014、帶有統(tǒng)計(jì)函數(shù)的嵌套查詢:還可以利用統(tǒng)計(jì)函數(shù)得到的數(shù)據(jù)作為查詢語(yǔ)句的條件進(jìn)行查詢。下面以顯示工資大于所有職工平均值的職工信息為例來(lái)講解一下。m職工where工資工資m職工在統(tǒng)計(jì)函數(shù)查詢中可以帶有比較運(yùn)算符、邏輯運(yùn)算符、、
Between…And等。假設(shè)顯示工資大于wh1或wh2倉(cāng)庫(kù)中職工平均工資,并且職工姓名不含有“亮”字的職工信息。m職工where工資工資m職工e庫(kù)號(hào)倉(cāng)庫(kù)號(hào)d姓名亮15、統(tǒng)計(jì)函數(shù)字段顯示在表字段中及運(yùn)算字段:如果在職工表中
添加一個(gè)職工平均工資值字段,這就對(duì)實(shí)際編程有很大的意義,即可以利用平均字段進(jìn)行運(yùn)算,大大提高編程速度。下面以在職工表中添加平均工資為例為講解一下。t職工工資m職工s平均工資m職工在職工表中添加了一個(gè)平均工資字段,即在SELECT查詢字段中添加了一個(gè)SELECT子查詢。
在SELECT查詢中,還可以計(jì)算出每名職工的工資與所有職工平均工資之差,具體操作如下:t職工工資m職工s平均工資工資-工資m職工s平均工資的差m職工16、分組查詢:使用GROUPBY分組查詢,要注意分組的標(biāo)準(zhǔn)一定要有意義,如顯示不同倉(cāng)庫(kù)的平均工資,顯示不同職工的最大訂單金額等。如果顯示不同職工的平均工資那就沒(méi)有意義了。下面顯示不同倉(cāng)庫(kù)的平均工資、工資和、最大工資、最小工資、工資人數(shù)信息為例來(lái)講解一下。t倉(cāng)庫(kù)號(hào)(工資)s最大工資(工資)s最小工資sum(工資)s工資總和(工資)s平均工資(*)s數(shù)m職工y倉(cāng)庫(kù)號(hào)
在分組查詢中還可以帶有邏輯運(yùn)算符、謂詞、、Betwee結(jié)構(gòu)。假設(shè)顯示工資大于zg1職工工資的不同倉(cāng)庫(kù)的平均工資、工資和、最大工資、最小工資、工資人數(shù)信息。首先利用SELECT語(yǔ)句求出職工的工資,然后再分組顯示統(tǒng)計(jì)信息。t倉(cāng)庫(kù)號(hào)(工資)s最大工資(工資)s最小工資sum(工資)s工資總和(工資)s平均工資(*)s數(shù)m職工e工資>(t工資m職工where職工號(hào)y倉(cāng)庫(kù)號(hào)17、帶有Having的分組查詢:分組以前的條件,要用Where關(guān)鍵字,而分組之后的條件則要使用Having關(guān)鍵字。下面以顯示不同倉(cāng)庫(kù)的平均工資、工資和、最大工資、最小工資、工資人數(shù)信息,但要求該倉(cāng)庫(kù)平均工資大于1760為例來(lái)講解一下。t倉(cāng)庫(kù)號(hào)(工資)s最大工資(工資)s最小工資
sum(工資)s工資總和(工資)s平均工資(*)s數(shù)m職工y倉(cāng)庫(kù)號(hào)havingavg(工資)>1760在分組查詢的Having條件中還可以帶有邏輯運(yùn)算符、謂詞、Between…And結(jié)構(gòu)。假設(shè)顯示不同倉(cāng)庫(kù)的平均工資、工資和、最大工資、最小工資、工資人數(shù)信息,但要求該倉(cāng)庫(kù)的平均工資大于1760,最大工資與最小工資之差在380~800之間。t倉(cāng)庫(kù)號(hào)(工資)s最大工資(工資)s最小工資sum(工資)s工資總和(工資)s平均工資(*)s數(shù)m職工y倉(cāng)庫(kù)號(hào)havingavg(工資)>1760andmax(工資)-min(工資)between380and80018、帶有分組的嵌套查詢:還可以利用分組得到的數(shù)據(jù)作為SELECT查詢語(yǔ)句的條件進(jìn)行查詢。下面以顯示職工所在倉(cāng)庫(kù)的最大工資與最小工資之差在380~800之間的職工所在倉(cāng)庫(kù)信息為例為講解一下。先求出職工所在倉(cāng)庫(kù)的最大工資與最小工資之差在380~800職工所在的倉(cāng)庫(kù)號(hào),再利用這個(gè)倉(cāng)庫(kù)號(hào)顯示倉(cāng)庫(kù)信息。m倉(cāng)庫(kù)e倉(cāng)庫(kù)號(hào)t倉(cāng)庫(kù)號(hào)職工倉(cāng)庫(kù)號(hào)havingdmax(工資)-min(工資)between380and80019、內(nèi)外層嵌套實(shí)現(xiàn)分組功能:利用分組顯示統(tǒng)計(jì)字段信息,有很多字段不能顯示。如顯示不同倉(cāng)庫(kù)的平均工資信息,在這個(gè)查詢中只能顯示倉(cāng)庫(kù)號(hào),不能顯示職工號(hào)及職工的工資。因?yàn)椴煌瑐}(cāng)庫(kù)的平均工資,有幾個(gè)倉(cāng)庫(kù)就顯示幾條平均工資,而每個(gè)倉(cāng)庫(kù)中的職工則有很多。下面以顯示不同職工經(jīng)手訂購(gòu)單金額最大的訂單信息為例來(lái)講解一下。在這里應(yīng)該邊求出每名職工訂購(gòu)單金額的最大值,邊顯示該職工所對(duì)應(yīng)的這條訂購(gòu)單信息。具體代碼如下:m訂購(gòu)單e金額金額m訂購(gòu)單where職工號(hào)職工號(hào)注意:上面語(yǔ)句中的訂購(gòu)單是給這個(gè)訂購(gòu)單起的一個(gè)別名,大家可以把它看成就其實(shí)就是訂購(gòu)單的一張復(fù)制的表,在這里運(yùn)用它只是為了使內(nèi)外層的嵌套更清晰、更容易理解。
20、分組查詢字段顯示在表字段中及運(yùn)算字段:如果在職工表中添加職工所在倉(cāng)庫(kù)的平均工資值字段,這就對(duì)實(shí)際編程有很大的意義,即可以利用平均字段進(jìn)行運(yùn)算,大大提高編程速度。下面以在職工表中添加職工所在的倉(cāng)庫(kù)的平均工資字段為例來(lái)講解一下。工資m職工e倉(cāng)庫(kù)號(hào)倉(cāng)庫(kù)號(hào)s所在倉(cāng)庫(kù)的平均工資m職工在查詢中,還可以計(jì)算出每名職工的工資與職工所在倉(cāng)庫(kù)的平均工資之差,具體操作如下:工資m職工e倉(cāng)庫(kù)號(hào)倉(cāng)庫(kù)號(hào)s所在倉(cāng)庫(kù)的平均工資工資(工資m職工e倉(cāng)庫(kù)號(hào)庫(kù)號(hào)s所在倉(cāng)庫(kù)的平均工資之差m職工21、謂詞查詢:其實(shí)就是謂詞查詢,還有謂詞與
,這兩個(gè)謂詞實(shí)現(xiàn)的功能是相同的,只是寫(xiě)法不同。多用于嵌套子查詢語(yǔ)句中,而多用于判斷語(yǔ)句是否返回查詢結(jié)果。常用量詞有Any、和Some是同義詞。在進(jìn)行比較運(yùn)算時(shí),只要子查詢中有一行能使結(jié)果為真,結(jié)果就為真。而則要求子查詢中所有行都使結(jié)果為真時(shí),結(jié)果才為真。下面以顯示那些倉(cāng)庫(kù)中還沒(méi)有職工的倉(cāng)庫(kù)信息為例,講解一下謂詞與謂詞在代碼上的不同。用謂詞實(shí)現(xiàn):m倉(cāng)庫(kù)職工倉(cāng)庫(kù)號(hào)=庫(kù)倉(cāng)庫(kù)號(hào)
用謂詞實(shí)現(xiàn):m倉(cāng)庫(kù)e倉(cāng)庫(kù)號(hào)倉(cāng)庫(kù)號(hào)職工22、Any量詞查詢:Any量詞查詢,在進(jìn)行比較運(yùn)算時(shí),只要子查詢中有一行能使結(jié)果為真,則結(jié)果即為真。下面就以顯示工資大于等于wh2倉(cāng)庫(kù)中任一名職工工資的職工信息為例,講解一下Any量詞的應(yīng)用。用Any量詞實(shí)現(xiàn):m職工e工資t工資職工號(hào)
使用統(tǒng)計(jì)函數(shù)實(shí)現(xiàn):
m職工e工資工資)職工庫(kù)號(hào)23、量詞查詢:量詞查詢,要求子查詢中所有行都使結(jié)果為真時(shí),結(jié)果才為真。下面就以顯示工資大于等于wh1倉(cāng)庫(kù)中所有職工工資的職工信息為例,講解一下量詞的應(yīng)用。用Any量詞實(shí)現(xiàn):m職工e工資t工資職工號(hào)
使用統(tǒng)計(jì)函數(shù)實(shí)現(xiàn):m職工e工資工資)職工倉(cāng)庫(kù)號(hào)前面講解的量詞查詢都可以用統(tǒng)計(jì)函數(shù)代替,但有些查詢是不能用統(tǒng)計(jì)函數(shù)代替的。下面以顯示工資大于所有不同倉(cāng)庫(kù)的平均工資的職工信息為例為講解一下。m職工e工資工資)職工倉(cāng)庫(kù)號(hào)
該題用統(tǒng)計(jì)函數(shù)就無(wú)法解決。24、顯示部分記錄的Top查詢:在編程中,有時(shí)只需顯示滿足條件的前幾條記錄,這時(shí)就可以使用Top關(guān)鍵字。可以直接使用Top數(shù)字,顯示指定條數(shù)記錄;也可以使用Top數(shù)字錄的前百分之幾條記錄。下面以顯示工資最高的前三條職工信息為例來(lái)講解一下。
m職工工資25、保存查詢:利用語(yǔ)句可以把查詢的結(jié)果保存成一張新表。下面就以備份職工表為例講解一下保存查詢。Use企業(yè)銷(xiāo)售管理系統(tǒng)o職工備份職工
這樣就生成一張新表,表名為職工備份。26、集合的并運(yùn)算:SQL支持集合的并運(yùn)算(Union
個(gè)語(yǔ)句的查詢結(jié)果通過(guò)并運(yùn)算合并成一個(gè)查詢結(jié)果。為了進(jìn)行并運(yùn)算,要求這樣的兩個(gè)查詢結(jié)果具有相同的字段個(gè)數(shù),并且對(duì)應(yīng)的字段的值要出自同一個(gè)值域,即具有相同的數(shù)據(jù)類型和取值范圍。m倉(cāng)庫(kù)where城市北京
Unionm倉(cāng)庫(kù)where城市上海27、集合的交運(yùn)算:SQL支持集合的交運(yùn)算(),即可以將兩個(gè)語(yǔ)句的查詢結(jié)果通過(guò)交運(yùn)算合并成一個(gè)查詢結(jié)果。為了進(jìn)行交運(yùn)算,要求這樣的兩個(gè)查詢結(jié)果具有相同的字段個(gè)數(shù),并且對(duì)應(yīng)的字段的值要出自同一個(gè)值域,即具有相同的數(shù)據(jù)類型和取值范圍。t倉(cāng)庫(kù)號(hào)m倉(cāng)庫(kù)t倉(cāng)庫(kù)號(hào)m職工
注意它們對(duì)集合的差運(yùn)算不支持。28、多表連接查詢:多表連接查詢就是將多個(gè)表中的數(shù)據(jù)結(jié)合到一起的查詢,即連接操作可以在一個(gè)語(yǔ)句中完成從我個(gè)表中查找和處理數(shù)據(jù)。使用連接的列必須是可連接的,即它們具有相同的數(shù)據(jù)類型、相同的意義。使用連接的列,列名可以相同,也可以不同。29、笛卡兒積:有的時(shí)候,如果連接條件沒(méi)有設(shè)置好,或者沒(méi)有設(shè)置連接條件,則結(jié)果將包含太多的行,這就是由笛卡兒積造成的。從原理上來(lái)講,連接首先將形成表的笛卡兒積,即形成用于連接的表中所有的行的組合。下面以倉(cāng)庫(kù)表與職工表連接為例為講解一下。Select*from職工,倉(cāng)庫(kù)這是從兩張表中顯示所有字段,所以字段有重復(fù),并且產(chǎn)生了90條記錄,原因是倉(cāng)庫(kù)表中有5條記錄,職工表有18條記錄,所以連接的結(jié)果是18×5=90條記錄。用于連接的表越多,則笛卡兒積的結(jié)果將越大。30、多表連接:在進(jìn)行多表連接時(shí),一定要注意連接條件,下面以倉(cāng)庫(kù)表與職工表連接為例來(lái)講解一下多表連接。Select*from職工,倉(cāng)庫(kù)where職工.倉(cāng)庫(kù)號(hào)=倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào)
這時(shí)顯示的記錄就沒(méi)有那么多了,只顯示18條記錄,并且發(fā)現(xiàn)兩張表的倉(cāng)庫(kù)號(hào)是相對(duì)應(yīng)的。假設(shè)顯示工資大于1500,面積大于600的城市與姓名信息。
Select城市,姓名*from職工,倉(cāng)庫(kù)where職工.倉(cāng)庫(kù)號(hào)=倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào)and工資工資>1500and面積>60031、超連接查詢:超連接查詢也是連接查詢,所以必須有兩張或兩張以上的表。超連接查詢共有4種:內(nèi)連接查詢、左連接查詢、右連接查詢、全連接查詢。使用超連接查詢不僅可以把滿足條件的記錄顯示出來(lái),還可以把一部分不滿足條件的記錄以NULL顯示出來(lái)。1)內(nèi)連接查詢:只有滿足連接條件的記錄才出現(xiàn)在查詢結(jié)果集中。下面以顯示面積大于600的倉(cāng)庫(kù)號(hào)、職工號(hào)、城市、面積、工資信息為例為講解一下內(nèi)連接:超連接:Select倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào),職工號(hào),城市,面積,工資from倉(cāng)庫(kù)inner
join職工on職工.倉(cāng)庫(kù)號(hào)=倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào)and面積>600普通連接:
Select倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào),職工號(hào),城市,面積,工資from職工,倉(cāng)庫(kù)where職工.倉(cāng)庫(kù)號(hào)=倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào)and面積>6002)左連接查詢:除滿足連接條件的記錄顯示外,第一張表中不滿足條件的記錄也出現(xiàn)在查詢結(jié)果集中。下面以顯示面積大于600的倉(cāng)庫(kù)號(hào)、職工號(hào)、城市、面積、工資信息為例為講解一下左連接。Select倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào),職工號(hào),城市,面積,工資from倉(cāng)庫(kù)left
join職工on職工.倉(cāng)庫(kù)號(hào)=倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào)and面積>600
3)右連接查詢:除滿足連接條件的記錄顯示外,第二張表中不滿足條件的記錄也出現(xiàn)在查詢結(jié)果集中。下面以顯示面積大于600的倉(cāng)庫(kù)號(hào)、職工號(hào)、城市、面積、工資信息為例為講解一下右連接。Select倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào),職工號(hào),城市,面積,工資from倉(cāng)庫(kù)right
join職工on職工.倉(cāng)庫(kù)號(hào)=倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào)and面積>6004)全連接查詢:除滿足連接條件的記錄顯示外,兩張表中不滿足條件的記錄也出現(xiàn)在查詢結(jié)果集中。下面以顯示面積大于600的倉(cāng)庫(kù)號(hào)、職工號(hào)、城市、面積、工資信息為例為講解一下全連接。
Select倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào),職工號(hào),城市,面積,工資from倉(cāng)庫(kù)full
join職工on職工.倉(cāng)庫(kù)號(hào)=倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào)and面積>6005)多表超連接查詢:前面講解了兩個(gè)表的超連接,那么如果是3張表或更多張表該如何實(shí)現(xiàn)超鏈接呢?下面以顯示面積大于600的倉(cāng)庫(kù)號(hào)、職工號(hào)、城市、面積、工資、金額信息為例為講解一下多表超連接。要顯示的字段信息來(lái)源于3張表,倉(cāng)庫(kù)表、職工表、訂購(gòu)單表,這里實(shí)現(xiàn)倉(cāng)庫(kù)表與職工表的左連接,職工表與訂購(gòu)單表的右連接。Select倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào),職工號(hào),城市,面積,工資,金額from倉(cāng)庫(kù)leftjoin職工on職工.倉(cāng)庫(kù)號(hào)=倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào)rightjoin訂購(gòu)單on職工.職工號(hào)=訂購(gòu)單.職工號(hào)and面積>60032、Insert插入語(yǔ)句:向數(shù)據(jù)庫(kù)表中插入數(shù)據(jù)是最常用的功能:1)指定所有列:
Insertinto倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),城市,面積,創(chuàng)建時(shí)間)values(‘wh6’,’鄭州’,’800’,’2005-12-01’)按下鍵盤(pán)上的F5鍵,會(huì)顯示(1行受影響),這表示已成功地插入一條記錄。再在數(shù)據(jù)庫(kù)引擎查詢文檔中輸入Select*from倉(cāng)庫(kù),然后按下鍵盤(pán)上的F5鍵,就可以執(zhí)行該SQL語(yǔ)句,這樣就可以在查詢結(jié)果上看到你插入的記錄。在這里要注意,倉(cāng)庫(kù)ID是自動(dòng)編號(hào),所以不能插入。其實(shí)上面的代碼還可以省略表后面的字段,這樣也可以成功地插入記錄。Insertinto倉(cāng)庫(kù)values(‘wh6’,’鄭州’,’800’,’2005-12-01’)2)指定部分列:下面以向倉(cāng)庫(kù)表中添加一條記錄為例來(lái)講解一下指定部分列。
Insertinto倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),面積)values(‘wh7’,800)上述代碼也可以這樣來(lái)寫(xiě):
Insertinto倉(cāng)庫(kù)values(‘wh7’,null,800,null)或Insertinto倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),城市,面積,創(chuàng)建時(shí)間)values(‘wh7’,null,800,nul)3)帶有子查詢的插入語(yǔ)句:使用帶有子查詢的插入語(yǔ)句,首先要注意兩個(gè)表的結(jié)構(gòu)相同。下面還是用一個(gè)實(shí)例來(lái)講解一下。
首先創(chuàng)建一張與倉(cāng)庫(kù)表結(jié)構(gòu)相同的空表,然后在數(shù)據(jù)庫(kù)引擎查詢文檔中
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年上半年云南旅游職業(yè)學(xué)院招聘人員(14人)備考考試試題附答案解析
- 2026年蚌埠機(jī)場(chǎng)建設(shè)投資有限公司面向社會(huì)公開(kāi)招聘工作人員招聘23人備考考試試題附答案解析
- 公廁保潔員安全生產(chǎn)制度
- 口罩生產(chǎn)規(guī)章制度
- 生產(chǎn)車(chē)間風(fēng)險(xiǎn)管理制度
- 班前安全生產(chǎn)會(huì)議制度
- 2026遼寧經(jīng)濟(jì)管理干部學(xué)院(遼寧經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院)招聘高層次和急需緊缺人才40人(第一批)備考考試試題附答案解析
- 家具生產(chǎn)工藝管理制度
- 生產(chǎn)企業(yè)小黃車(chē)管理制度
- 木制品生產(chǎn)防疫制度
- 山西省臨汾市2025-2026年八年級(jí)上物理期末試卷(含答案)
- (2025年)員工安全培訓(xùn)考試試題(含答案)
- GB/T 36132-2025綠色工廠評(píng)價(jià)通則
- 2025-2026學(xué)年北師大版八年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)卷(含答案)
- 2025年艾滋病培訓(xùn)試題與答案(全文)
- 【二下數(shù)學(xué)】計(jì)算每日一練60天(口算豎式脫式應(yīng)用題)
- 殘疾人服務(wù)與權(quán)益保護(hù)手冊(cè)(標(biāo)準(zhǔn)版)
- 車(chē)隊(duì)春節(jié)前安全培訓(xùn)內(nèi)容課件
- 云南師大附中2026屆高三高考適應(yīng)性月考卷(六)歷史試卷(含答案及解析)
- PCR技術(shù)在食品中的應(yīng)用
- 輸液滲漏處理課件
評(píng)論
0/150
提交評(píng)論