亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

非常不錯(cuò)的SQL語句學(xué)習(xí)手冊實(shí)例版第3/3頁

 更新時(shí)間:2007年03月25日 00:00:00   作者:  

例 26  找出籍貫為山西或河北,成績?yōu)?nbsp;90 分以上的學(xué)生的姓名、籍貫和成績。(當(dāng)構(gòu)造多表連接查詢命令時(shí),必須遵循兩條規(guī)則。第一,連接條件數(shù)正好比表數(shù)少 1 (若有三個(gè)表,就有兩個(gè)連接條件 ) ;第二,若一個(gè)表中的主關(guān)鍵字是由多個(gè)列組成,則對此主關(guān)鍵字中的每一個(gè)列都要有一個(gè)連接條件(也有少數(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ù)。(算術(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 子句把一個(gè)表按某一指定列(或一些列)上的值相等的原則分組,然后再對每組數(shù)據(jù)進(jìn)行規(guī)定的操作。 
        GROUP BY 子句總是跟在 Where 子句后面,當(dāng) Where 子句缺省時(shí),它跟在 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)一個(gè)子查詢涉及到一個(gè)來自外部查詢的列時(shí),稱為相關(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) 
或等價(jià)地用下面的 SQL 語句: 

     Select *  FROM (TABLE SP_SUBORD UNION TABLE SP_MGR)
(2) INTERSECT  (Select * FROM SP_SUBORD) 
      INTERSECT  (Select * FROM SP_MGR) 
或等價(jià)地用下面的 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) 
或等價(jià)地用下面的 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 。外連接的作用是在做連接操作時(shí)避免丟失信息。 
外連接有 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)的授予  一個(gè) SQL 特權(quán)允許一個(gè)被授權(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)文章

最新評論