精品欧美无遮挡一区二区三区在线观看,中文字幕一区二区日韩欧美,久久久久国色αv免费观看,亚洲熟女乱综合一区二区三区

        ? 首頁 ? 百科知識 ?查詢的語句

        查詢的語句

        時間:2023-11-25 百科知識 版權反饋
        【摘要】:在SQL語言中,查詢是通過SELECT語句實現(xiàn)的。SELECT之后輸入目標表的列名稱,即字段名,這些字段將構成查詢結果的字段。例如下列語句可以輸出年齡在20歲和21歲之間的學生信息。例如,對于前面提到的從圖2-9的三個表中查詢的問題,通過SELECT FROM語句,我們可以很容易實現(xiàn)第一步操作。有時,我們都希望按查詢結果的記錄進行排序,這就必須借助于ORDER BY子句。

        2.3.2 SQL查詢的SELECT語句

        在SQL語言中,查詢是通過SELECT語句實現(xiàn)的。一個完整的SELECT語句包括6個子句,其中前面的2個子句是必不可少的。

        SELECT與FROM子句

        SELECT之后輸入目標表的列名稱,即字段名,這些字段將構成查詢結果的字段。比如,在SELECT之后輸入的是“姓名”、“年齡”、“籍貫”,那么,得到的查詢結果就是由這三個字段構成的一個視圖。另外,有時候我們需要查看整張表格的內(nèi)容,當然,我們可以把目標表的所有列名都輸入到SELECT之后,不過這種做法太過繁瑣。此時,只需在SELECT之后輸入通配符“*”,就可以代表表中的全部字段。

        FROM之后輸入的是目標表的表名。例如,上述三個字段均是來自“學生基本信息表”,那么,F(xiàn)ROM之后就應該輸入“學生基本信息表”。

        例如,下列語句將得到學生信息表中所有的信息。

        img19

        有時,我們希望去掉查詢結果中的重復記錄,此時可以在SELECT后面加上“DISTINCT”。例如,下列語句

        img20

        如果直接輸入:SQL>SELECT籍貫FROM學生基本信息表;,輸出結果中將會有重復記錄出現(xiàn),如在列名之前加上DISTINCT就可以消除重復記錄。DISTINCT在SQL查詢應用中有著很重要的作用,比如,學校想了解一下學生生源情況,顯然,我們需要像例題二那樣,去掉籍貫記錄中那些重復的部分。

        WHERE子句

        WHERE子句是SELECT查詢的條件部分,其后的查詢條件形式多樣,能滿足用戶個性化的查詢需求。例如我們想知道學生中有多少人是來自北京的,或者有哪些同學是90后,這些查詢都要用到WHERE子句。根據(jù)WHERE子句內(nèi)容的不同,我們可以把查詢分成比較查詢、范圍查詢、集合查詢、部分匹配查詢、多重條件查詢等。需要說明,WHERE子句的內(nèi)容是非常豐富的,其涵蓋的內(nèi)容遠遠超過了這幾種基本的分類,但是,這些分類包括了最基本的知識,有了這些基礎知識,讀者就可以根據(jù)自己的需求構造各種復雜的條件查詢。

        比較查詢中的操作符主要有等于(=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)以及不等于(!=或者<>)。例如,通過下面的SQL語句,就可以得到所有年齡小于等于18歲的學生的記錄。

        img21

        范圍查詢是通過“BETWEEN…AND…”來限定某個字段的取值范圍。例如下列語句可以輸出年齡在20歲和21歲之間的學生信息。注意,BETWEENAND所確定的范圍是包括邊界的。

        在本例中,我們查詢的是籍貫為湖南或云南的同學,其實,要實現(xiàn)這一操作還有其他的方法,如:SQL>SELECT*FROM學生基本信息表WHERE籍貫='湖南OR'籍貫='云南';。這個查詢用到了邏輯運算符OR,除了OR之外,還有AND,NOT兩種邏輯運算符,使用邏輯運算符可以把多個查詢條件組合起來,這就是上文提到的多重條件查詢??傊?,要滿足某一查詢要求,查詢命令的形式可以是多樣的。

        部分匹配查詢。下列語句將輸出所有籍貫以“湖”字開頭的學生的姓名、性別和籍貫。

        img23

        在LIKE表達式中“%”是一種通配符,它表示可能在“湖”中出現(xiàn)的其他信息。如“%南”表示籍貫以“南”結尾的記錄,“南%”表示籍貫以“南”開頭的記錄,而“%南%”則表示籍貫中含有“南”字的記錄。在LIKE語句中,如果想查找在某一確定的位置上含有特定字符的數(shù)據(jù)時,就要用到另外一個通配符下畫線“_”。例如,在企業(yè)“顧客信息表”中輸入: SQL>SELECT*FROM CUSTOMER WHERE FIRSTNAME LIKE'_L%';,我們將得到“顧客信息表”中姓氏第二個字母是“L”的所有記錄。

        表的連接

        在此之前,我們學習的查詢都是單一表格的查詢。在數(shù)據(jù)庫中,各個表中存放著不同的數(shù)據(jù),用戶往往需要用多個表中的數(shù)據(jù)來獲取所需要的信息。如果沒有這個功能的話,將不得不將一個應用程序所需的所有數(shù)據(jù)放在一張表中,關系數(shù)據(jù)庫的表格就不再是“小表”了。

        要實現(xiàn)表的連接操作,必須完成兩個步驟:第一,準確表示要選擇的列;第二,正確描述連接條件。例如,對于前面提到的從圖2-9的三個表中查詢的問題,通過SELECT FROM語句,我們可以很容易實現(xiàn)第一步操作。如:SQL>SELECT*FROM供應商表,零件表,零件供應表;。但是,這里有一個問題,就是供應商表和零件供應表兩張表中均有“代號”字段,零件表和零件供應表兩張表中均有“編號”字段。因此,常用的做法是為每一字段前面加上表的名稱,即寫成“表名.字段名”的形式。

        如何準確地描述連接是表的連接查詢的重點,最常見的連接條件是由比較運算符連接的,其基本的格式是:表名1.列名1<比較運算符>表名2.列名2(其中比較運算符主要有:=、>、<、>=、<=、!=)。當然,如果涉及多個條件的話,要使用AND、OR與NOT三種邏輯運算符將多個條件連接起來。例如,下列SQL語句可以從圖2-9的三個表中得到“從北京機床廠購進了哪些零部件”。

        WHERE條件部分的前兩個條件都是連接條件,分別實現(xiàn)了供應商表與零件供應表的連接、零件表與零件供應表的連接,第三個條件是一個選擇條件,從供應商表中選取除了滿足條件的行。這三個條件必須同時滿足。

        SELECT語句中的其他內(nèi)容

        有時,我們都希望按查詢結果的記錄進行排序,這就必須借助于ORDER BY子句。ORDER BY子句一般都出現(xiàn)在其他子句之后,排序方式可以指定,ASC為升序,DESC為降序,默認為升序。例如,下列SQL語句的輸出記錄首先是按照年齡降序排列,年齡相同的記錄則按照學號升序排列。

        在SQL語句中,使用GROUP BY子句可以對查詢結果分組。此外,SQL語句還有豐富的函數(shù)功能,支持匯總函數(shù)、日期與時間函數(shù)、字符函數(shù)、數(shù)學函數(shù)、轉換函數(shù)等。限于篇幅,這些內(nèi)容不再詳細敘述。

        免責聲明:以上內(nèi)容源自網(wǎng)絡,版權歸原作者所有,如有侵犯您的原創(chuàng)版權請告知,我們將盡快刪除相關內(nèi)容。

        我要反饋

      1. 查詢機構組織名稱  

        查詢機構組織名稱

        2020-03-30
      2. 基因的啟動子序列怎么查詢  

        基因的啟動子序列怎么查詢

        2020-02-17
      3. 查詢中國特有的概念與說法  

        查詢中國特有的概念與說法

        2020-03-30
      4. 語句的句調訓練  

        語句的句調訓練

        2020-03-05
      5. 國土資源局二調后建設用地查詢  

        國土資源局二調后建設用地查詢

        2020-03-27
      6. 目的狀語從句與結果狀語從句的辨析  

        目的狀語從句與結果狀語從句的辨析

        2020-03-31
      7. 中國教師資格網(wǎng)教師資格證書查詢  

        中國教師資格網(wǎng)教師資格證書查詢

        2020-02-26