最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

非常不錯的SQL語句學(xué)習(xí)手冊實(shí)例版

 更新時間:2007年03月25日 00:00:00   作者:  

例 26  找出籍貫為山西或河北,成績?yōu)?nbsp;90 分以上的學(xué)生的姓名、籍貫和成績。(當(dāng)構(gòu)造多表連接查詢命令時,必須遵循兩條規(guī)則。第一,連接條件數(shù)正好比表數(shù)少 1 (若有三個表,就有兩個連接條件 ) ;第二,若一個表中的主關(guān)鍵字是由多個列組成,則對此主關(guān)鍵字中的每一個列都要有一個連接條件(也有少數(shù)例外情況)) 

        Select  SNAME, BPLACE, GRADE  FROM   STUDENTS, ENROLLS 
                          Where  BPLACE IN (‘ 山西 ' , ‘ 河北 ')  AND  GRADE >= 90  AND                          STUDENTS.SNO=ENROLLS.SNO 
例 28  查出課程成績在 80 分以上的女學(xué)生的姓名、課程名和成績。( FROM 子句中的子查詢) 

        Select  SNAME,CNAME, GRADE   FROM   (Select SNAME, CNAME , GRADE 
                          FROM  STUDENTS, ENROLLS,COURSES Where  SEX = ' 女 ') 
                          AS TEMP (SNAME, CNAME,GRADE)  Where  GRADE > 80 
表達(dá)式與函數(shù)的使用 
例 29  查詢各課程的學(xué)時數(shù)。(算術(shù)表達(dá)式由算術(shù)運(yùn)算符+、-、 * 、/與列名或數(shù)值常量所組成。) 

        Select  CNAME,COURSE_TIME = CREDIT*16  FROM   COURSES
例 30  找出教師的最小年齡。(內(nèi)部函數(shù): SQL 標(biāo)準(zhǔn)中只使用 COUNT 、 SUM 、 AVG 、 MAX 、 MIN 函數(shù),稱之為聚集函數(shù)( Set Function )。 COUNT 函數(shù)的結(jié)果是該列統(tǒng)計(jì)值的總數(shù)目, SUM 函數(shù)求該列統(tǒng)計(jì)值之和, AVG 函數(shù)求該列統(tǒng)計(jì)值之平均值, MAX 函數(shù)求該列最大值, MIN 函數(shù)求該列最小值。) 

        Select  MIN(AGE)  FROM   TEACHERS 
例 31  統(tǒng)計(jì)年齡小于等于 22 歲的學(xué)生人數(shù)。(統(tǒng)計(jì)) 

        Select  COUNT(*)  FROM   STUDENTS  Where  AGE < = 22 
例 32  找出學(xué)生的平均成績和所學(xué)課程門數(shù)。 

       Select  SNO, AVG(GRADE), COURSES = COUNT(*)   FROM   ENROLLS  GROUP  BY SNO
例 34  找出年齡超過平均年齡的學(xué)生姓名。 

        Select SNAME  FROM STUDENTS  
                         Where AGE > (Select  AVG(AGE)  FROM   STUDENTS) 
例 35  找出各課程的平均成績,按課程號分組,且只選擇學(xué)生超過 3 人的課程的成績。( GROUP BY 與 HAVING 
        GROUP BY 子句把一個表按某一指定列(或一些列)上的值相等的原則分組,然后再對每組數(shù)據(jù)進(jìn)行規(guī)定的操作。 
        GROUP BY 子句總是跟在 Where 子句后面,當(dāng) Where 子句缺省時,它跟在 FROM 子句后面。 
        HAVING 子句常用于在計(jì)算出聚集之后對行的查詢進(jìn)行控制。) 

      Select CNO, AVG(GRADE), STUDENTS = COUNT(*)  FROM ENROLLS 
                      GROUP BY CNO  HAVING COUNT(*) >= 3 
相關(guān)子查詢   
例 37  查詢沒有選任何課程的學(xué)生的學(xué)號和姓名。(當(dāng)一個子查詢涉及到一個來自外部查詢的列時,稱為相關(guān)子查詢( Correlated Subquery) 。相關(guān)子查詢要用到存在測試謂詞 EXISTS 和 NOT EXISTS ,以及 ALL 、 ANY ( SOME )等。) 

     Select SNO, SNAME   FROM   STUDENTS   Where  NOT EXISTS 
                    (Select *  FROM ENROLLS  Where ENROLLS.SNO=STUDENTS.SNO) 
例 38   查詢哪些課程只有男生選讀。 

        Select DISTINCT CNAME  FROM   COURSES C 
                         Where ' 男 ' = ALL
                                    (Select SEX FROM  ENROLLS , STUDENTS Where ENROLLS.SNO=STUDENTS.SNO AND ENROLLS.CNO=C.CNO) 
例 39  要求給出一張學(xué)生、籍貫列表,該表中的學(xué)生的籍貫省份,也是其他一些學(xué)生的籍貫省份。 

        Select  SNAME, BPLACE  FROM   STUDENTS A  Where  EXISTS 
                         (Select *  FROM STUDENTS B  Where A.BPLACE=B.BPLACE AND           A.SNO < > B.SNO) 
例 40  找出選修了全部課程的學(xué)生的姓名。本查詢可以改為:查詢這樣一些學(xué)生,沒有一門課程是他不選修的。 

      Select  SNAME  FROM   STUDENTS Where  NOT EXISTS 
                       (Select * FROM COURSES Where  NOT EXISTS
                                        (Select * FROM ENROLLS Where ENROLLS.SNO = STUDENTS.SNO AND ENROLLS.CNO=
關(guān)系代數(shù)運(yùn)算 
例 41  設(shè)有某商場工作人員的兩張表:營業(yè)員表 SP_SUBORD 和營銷經(jīng)理表 SP_MGR ,其關(guān)系數(shù)據(jù)模式如下: 
    SP_SUBORD (SALPERS_ID, SALPERS_NAME, MANAGER_ID, OFFICE) 
      SP_MGR (SALPERS_ID, SALPERS_NAME, MANAGER_ID, OFFICE) 
      其中,屬性 SALPERS_ID 為工作人員的編號 , SALPERS_NAME 為工作人員的姓名 , MANAGER_ID 為所在部門經(jīng)理的編號 , OFFICE 為工作地點(diǎn)。 
若查詢?nèi)可虉龉ぷ魅藛T,可以用下面的 SQL 語句: 

     (Select * FROM SP_SUBORD)  UNION  (Select * FROM SP_MGR) 
或等價地用下面的 SQL 語句: 

     Select *  FROM (TABLE SP_SUBORD UNION TABLE SP_MGR)
(2) INTERSECT  (Select * FROM SP_SUBORD) 
      INTERSECT  (Select * FROM SP_MGR) 
或等價地用下面的 SQL 語句: 
    Select * FROM (TABLE SP_SUBORD INTERSECT TABLE SP_MGR) 
或用帶 ALL 的 SQL 語句: 
       (Select * FROM SP_SUBORD) INTERSECT ALL (Select * FROM SP_MGR) 
或 
     Select * FROM (TABLE SP_SUBORD INTERSECT ALL TABLE SP_MGR) 
(3) EXCEPT  (Select * FROM SP_MGR) 
      EXCEPT  (Select * FROM SP_SUBORD) 
或等價地用下面的 SQL 語句: 
    Select *  FROM (TABLE SP_MGR EXCEPT TABLE SP_ SUBORD) 
或用帶 ALL 的 SQL 語句: 
    (Select * FROM SP_MGR)  EXCEPT  ALL  (Select * FROM SP_SUBORD) 
例 42  查詢籍貫為四川、課程成績在 80 分以上的學(xué)生信息及其成績。(自然連接) 
     (Select * FROM STUDENTS  Where BPLACE=‘ 四川 ')  NATURAL JOIN 
        (Select * FROM ENROLLS    Where GRADE >=80) 
例3.43          列出全部教師的姓名及其任課的課程號、班級。(外連接與外部并外連接允許在結(jié)果表中保留非匹配元組,空缺部分填以 NULL 。外連接的作用是在做連接操作時避免丟失信息。 
外連接有 3 類: 
(1)左外連接( Left Outer Join )。連接運(yùn)算謂詞為 LEFT [OUTER] JOIN ,其結(jié)果表中保留左關(guān)系的所有元組。 
(2)右外連接( Right Outer Join )。連接運(yùn)算謂詞為 RIGHT [OUTER] JOIN ,其結(jié)果表中保留右關(guān)系的所有元組。 
(3)全外連接( Full Outer Join )。連接運(yùn)算謂詞為 FULL [OUTER] JOIN ,其結(jié)果表中保留左右兩關(guān)系的所有元組。) 

      Select TNAME, CNO, CLASS  FROM TEACHERS LEFT OUTER JOIN TEACHING USING (TNO) 
SQL 的數(shù)據(jù)操縱 
例 44  把教師李映雪的記錄加入到教師表 TEACHERS 中。(插入) 

     Insert INTO TEACHERS  VALUES(1476 , ' 李映雪 ' , 44 , ' 副教授 ') 
例 45  成績優(yōu)秀的學(xué)生將留下當(dāng)教師。 

     Insert INTO TEACHERS (TNO , TNAME)  Select DISTINCT SNO , SNAME 
                             FROM   STUDENTS , ENROLLS 
                             Where STUDENTS.SNO = ENROLLS.SNO AND GRADE >= 90
例 47  把所有學(xué)生的年齡增加一歲。(修改) 

     Update STUDENTS   SET AGE = AGE+1 
例 48  學(xué)生張春明在數(shù)據(jù)庫課考試中作弊,該課成績應(yīng)作零分計(jì)。 

     Update ENROLLS   SET GRADE = 0  Where CNO = 'C1' AND 
                     ' 張春明 ' = (Select SNAME  FROM STUDENTS   Where STUDENTS.SNO=ENROLLS.SNO) 
例 49  從教師表中刪除年齡已到 60 歲的退休教師的數(shù)據(jù)。(刪除) 

     Delete FROM TEACHERS  Where  AGE >= 60 
SQL 的數(shù)據(jù)控制 
例 50  授予 LILI 有對表 STUDENTS 的查詢權(quán)。(表/視圖特權(quán)的授予  一個 SQL 特權(quán)允許一個被授權(quán)者在給定的數(shù)據(jù)庫對象上進(jìn)行特定的操作。授權(quán)操作的數(shù)據(jù)庫對象包括:表 / 視圖、列、域等。授權(quán)的操作包括: Insert 、 Update 、 Delete 、 Select 、 REFERENCES 、 TRIGGER 、 UNDER 、 USAGE 、 EXECUTE 等。其中 Insert 、 Update 、 Delete 、 Select 、 REFERENCES 、 TRIGGER 有對表做相應(yīng)操作的權(quán)限,故稱為表特權(quán)。) 

     GRANT Select ON STUDENTS  TO LILI  WITH GRANT OPTION 
例 51  取消 LILI 的存取 STUDENTS 表的特權(quán)。 

     REVOKE ALL  ON  STUDENTS   FROM LILI CASCADE 

相關(guān)文章

  • Sql Server存儲過程詳解

    Sql Server存儲過程詳解

    本文詳細(xì)講解了Sql Server的存儲過程,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • sql自動化檢查和分析工具 之soar和soar-web 安裝和使用體驗(yàn)

    sql自動化檢查和分析工具 之soar和soar-web 安裝和使用體驗(yàn)

    這篇文章主要介紹了sql自動化檢查和分析工具 之soar和soar-web 安裝和使用體驗(yàn),本文分步驟給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 使用 TOP 子句限制UPDATE 語句更新的數(shù)據(jù)

    使用 TOP 子句限制UPDATE 語句更新的數(shù)據(jù)

    這篇文章主要介紹了使用 TOP 子句限制UPDATE 語句更新的數(shù)據(jù),需要的朋友可以參考下
    2014-08-08
  • SQL去除重復(fù)記錄(七種)

    SQL去除重復(fù)記錄(七種)

    本文主要介紹了SQL去除重復(fù)記錄的七種方法。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • SQL Server中執(zhí)行動態(tài)SQL

    SQL Server中執(zhí)行動態(tài)SQL

    本文詳細(xì)講解了SQL Server中執(zhí)行動態(tài)SQL的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • 使用綠色版SQLServer2008R2出現(xiàn)的問題解析

    使用綠色版SQLServer2008R2出現(xiàn)的問題解析

    這篇文章主要介紹了使用綠色版SQLServer2008R2出現(xiàn)的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • SQL窗口函數(shù)的使用方法

    SQL窗口函數(shù)的使用方法

    MySQL8.0版本之后,加入了窗口函數(shù)功能,簡化了數(shù)據(jù)分析工作中查詢語句的書寫。本文主要介紹了SQL窗口函數(shù)的使用方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • case?when?then?else?end語句的用法(附demo)

    case?when?then?else?end語句的用法(附demo)

    本文主要介紹了case?when?then?else?end語句的用法,主要介紹了兩種格式,簡單case函數(shù)和case搜索函數(shù),具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • 實(shí)例理解SQL中truncate和delete的區(qū)別

    實(shí)例理解SQL中truncate和delete的區(qū)別

    這篇文章主要介紹了實(shí)例理解SQL中truncate和delete的區(qū)別,truncate和delete兩者易混,本文就為大家進(jìn)行區(qū)分兩者的異同,感興趣的小伙伴們可以參考一下
    2016-02-02
  • MyBatis MapperProvider MessageFormat拼接批量SQL語句執(zhí)行報(bào)錯的原因分析及解決辦法

    MyBatis MapperProvider MessageFormat拼接批量SQL語句執(zhí)行報(bào)錯的原因分析及解決辦法

    這篇文章主要介紹了MyBatis MapperProvider MessageFormat拼接批量SQL語句執(zhí)行報(bào)錯的原因分析及解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-01-01

最新評論

大厂| 清远市| 邵东县| 繁峙县| 疏勒县| 白水县| 嘉祥县| 胶州市| 紫阳县| 明星| 大城县| 津市市| 体育| 昌黎县| 文水县| 密山市| 梁平县| 屏山县| 龙川县| 昔阳县| 屯门区| 上思县| 永泰县| 大厂| 四子王旗| 通化县| 西乌| 巴中市| 明水县| 红桥区| 乌拉特中旗| 定西市| 鱼台县| 琼中| 资溪县| 平阳县| 丁青县| 宁武县| 锦州市| 北宁市| 肃宁县|