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

sqlserver exists,not exists的用法

 更新時(shí)間:2009年12月06日 21:32:45   作者:  
exists,not exists的使用方法示例,需要的朋友可以參考下。
學(xué)生表:create table student
(
 id number(8) primary key,
 name varchar2(10),deptment number(8)
)
選課表:create table select_course
(
  ID         NUMBER(8) primary key,
  STUDENT_ID NUMBER(8) foreign key (COURSE_ID) references course(ID),
  COURSE_ID  NUMBER(8) foreign key (STUDENT_ID) references student(ID)
)
課程表:create table COURSE
(
  ID     NUMBER(8) not null,
  C_NAME VARCHAR2(20),
  C_NO   VARCHAR2(10)
)
student表的數(shù)據(jù):
        ID NAME            DEPTMENT_ID
---------- --------------- -----------
         1 echo                   1000
         2 spring                 2000
         3 smith                  1000
         4 liter                  2000
course表的數(shù)據(jù):
        ID C_NAME               C_NO
---------- -------------------- --------
         1 數(shù)據(jù)庫               data1
         2 數(shù)學(xué)                 month1
         3 英語                 english1
select_course表的數(shù)據(jù):
        ID STUDENT_ID  COURSE_ID
---------- ---------- ----------
         1          1          1
         2          1          2
         3          1          3
         4          2          1
         5          2          2
         6          3          2
1.查詢選修了所有課程的學(xué)生id、name:(即這一個(gè)學(xué)生沒有一門課程他沒有選的。)
分析:如果有一門課沒有選,則此時(shí)(1)select * from select_course sc where sc.student_id=ts.id 
and sc.course_id=c.id存在null,
這說明(2)select * from course c 的查詢結(jié)果中確實(shí)有記錄不存在(1查詢中),查詢結(jié)果返回沒有選的課程,
此時(shí)select * from t_student ts 后的not exists 判斷結(jié)果為false,不執(zhí)行查詢。
SQL> select * from t_student ts where not exists
 (select * from course c where not exists
   (select * from select_course sc where sc.student_id=ts.id and sc.course_id=c.id));       
        ID NAME            DEPTMENT_ID
---------- --------------- -----------
         1 echo                   1000
2.查詢沒有選擇所有課程的學(xué)生,即沒有全選的學(xué)生。(存在這樣的一個(gè)學(xué)生,他至少有一門課沒有選),
分析:只要有一個(gè)門沒有選,即select * from select_course sc where student_id=t_student.id and course_id
=course.id 有一條為空,即not exists null 為true,此時(shí)select * from course有查詢結(jié)果(id為子查詢中的course.id ),
因此select id,name from t_student 將執(zhí)行查詢(id為子查詢中t_student.id )。
SQL> select id,name from t_student where exists
	(select * from course where not exists
		(select * from select_course sc where student_id=t_student.id and course_id=course.id));
        ID NAME
---------- ---------------
         2 spring
         3 smith
         4 liter
3.查詢一門課也沒有選的學(xué)生。(不存這樣的一個(gè)學(xué)生,他至少選修一門課程),
分析:如果他選修了一門select * from course結(jié)果集不為空,not exists 判斷結(jié)果為false;
select id,name from t_student 不執(zhí)行查詢。
SQL> select id,name from t_student where not exists
	(select * from course where exists
		(select * from select_course sc where student_id=t_student.id and course_id=course.id));
        ID NAME
---------- ---------------
         4 liter
4.查詢至少選修了一門課程的學(xué)生。
SQL> select id,name from t_student where exists
	(select * from course where  exists
		(select * from select_course sc where student_id=t_student.id and course_id=course.id));
        ID NAME
---------- ---------------
         1 echo
         2 spring
         3 smith

相關(guān)文章

  • 詳解SQL中的DQL查詢語言

    詳解SQL中的DQL查詢語言

    這篇文章主要介紹了SQL中的DQL查詢語言,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • 僅用一句SQL更新整張表的漲跌幅、漲跌率的解決方案

    僅用一句SQL更新整張表的漲跌幅、漲跌率的解決方案

    這篇文章主要介紹了僅用一句SQL更新整張表的漲跌幅、漲跌率的解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • SQL Server 2008圖文安裝教程

    SQL Server 2008圖文安裝教程

    從安裝程序看,感覺SQL Server 2008的設(shè)計(jì)更靈活、更精確,安裝速度在我的筆記本上裝的虛擬機(jī)(分配了768M內(nèi)存)中比較流暢,感覺比2005要好。
    2009-02-02
  • SQL?Server?2022?Enterprise安裝部署的實(shí)現(xiàn)步驟

    SQL?Server?2022?Enterprise安裝部署的實(shí)現(xiàn)步驟

    SQL?Server?2022是一款功能強(qiáng)大的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它提供了穩(wěn)定可靠的數(shù)據(jù)存儲(chǔ)和管理功能,本文主要介紹了SQL?Server?2022?Enterprise部署的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • SQL Server修改數(shù)據(jù)字段名的三種方法

    SQL Server修改數(shù)據(jù)字段名的三種方法

    這篇文章主要介紹了SQL Server修改數(shù)據(jù)字段名的三種方法, ALTER TABLE語句修改,EXEC sp_RENAME存儲(chǔ)過程修改和使用UPDATE語句修改,
    文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2024-03-03
  • SQL Server2019數(shù)據(jù)庫備份與還原腳本(批量備份)

    SQL Server2019數(shù)據(jù)庫備份與還原腳本(批量備份)

    本文主要介紹了SQL Server2019數(shù)據(jù)庫備份與還原腳本,數(shù)據(jù)庫可批量備份,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • SQL Server 實(shí)現(xiàn)數(shù)字輔助表實(shí)例代碼

    SQL Server 實(shí)現(xiàn)數(shù)字輔助表實(shí)例代碼

    這篇文章主要介紹了SQL Server 實(shí)現(xiàn)數(shù)字輔助表的相關(guān)資料,并附實(shí)例代碼,需要的朋友可以參考下
    2016-10-10
  • SQL Having用法示例小結(jié)

    SQL Having用法示例小結(jié)

    這篇文章主要介紹了SQL Having用法示例小結(jié),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-12-12
  • Sql Server 創(chuàng)建數(shù)據(jù)庫腳本Create DATABASE

    Sql Server 創(chuàng)建數(shù)據(jù)庫腳本Create DATABASE

    這篇文章主要介紹了Sql Server 創(chuàng)建數(shù)據(jù)庫腳本語句Create DATABASE的使用,需要的朋友可以參考下
    2014-08-08
  • SQL語句性能優(yōu)化(續(xù))

    SQL語句性能優(yōu)化(續(xù))

    這篇文章主要介紹了SQL語句性能優(yōu)化(續(xù)),設(shè)計(jì)到性能優(yōu)化相關(guān)知識(shí),本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-03-03

最新評(píng)論

罗城| 双桥区| 昔阳县| 安多县| 榕江县| 黑水县| 边坝县| 宝丰县| 曲阳县| 普陀区| 武胜县| 手游| 滦南县| 衡山县| 蒙城县| 泗洪县| 屯留县| 新津县| 延寿县| 黔西县| 临漳县| 舒兰市| 太和县| 乃东县| 勐海县| 山丹县| 司法| 钟山县| 阿巴嘎旗| 休宁县| 纳雍县| 什邡市| 册亨县| 永顺县| 常德市| 无棣县| 阳东县| 三原县| 宝丰县| 湖州市| 沛县|