當前位置:首頁 » 編程語言 » sql查詢選了課的人
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql查詢選了課的人

發布時間: 2022-09-11 01:50:18

sql查詢選修了全部課程的學生姓名

分析原因如下:

第一問:兩個NOT EXISTS表示雙重否定:沒有一個選了課的學生沒有選course表裡的課程

select sname from student where not exists /*沒有一個學生滿足以下條件*/

(select * from course where not exists /*什麼條件呢?沒有選過Course表裡的課*/

(select * from sc where sno =student.sno /*這里兩個=分別指對應的關系,表示選

過課並且是Course里and cno=course.cno) 的課,只不過用not exists否定掉了*/

第二問:其實和NOT IN 是一個意思 exists只返回true 或false 這里not exists里的內容 其實就 是指學生選過的課程,再用NOT EXISTS否定了,就變成了沒有選

❷ 用SQL查詢同時選修了1號課和2號課的學生學號

工具/材料:以Management Studio為例。

1、首先在桌面上,點擊「Management Studio」圖標。

❸ SQL資料庫中查詢選修了所有課程的學生的學號和姓名及選修門數

所有離開了數據結構(表結構)的SQL語句都是白搭!
先假設數據結構為
學生表(學號 主鍵或設有唯一索引,姓名,性別)
課程表(課程號 主鍵或設有唯一索引,課程名)
選課表(課程號,學號)-- 欄位「課程號」和「學號"設有雙欄位唯一索引
查詢出選修了所有課程的學生的學號、姓名和選修門數:
select a.學號,b.姓名,a.cnt as 選修門數 from
(select 學號,count(1) as as cnt from 選課表 group by 學號
having count(1)=(select count(1) from 課程表)) a,
學生表 b where a.學號=b.學號;

❹ 用SQL語句查詢選修了課程的學員人數

SC表裡應該有個XKLB欄位,看這門課是否選修還是必修,因為有的課程對A來說是必修的,而對B來說就是選修,
SELECT COUNT(DISTINCT SNO) FROM SC WHERE XKLB='選修';

❺ 請寫出SQL查詢統計每門課程的選修人數顯示課程編號學生人數。

SQL查詢語句:Select 課程編號,count(*) 學生人數From 課程 group by 選修人數;

PS:SQL用於統計和分組的函數是:

  • 統計函數:count(*)

  • 分組函數:Group By 分組表達式。

❻ SQL查詢選修了兩門以上(包括兩門)課程的學生信息

1:select sno(學生的學號) from sc(學生選課表)
group by sno having count(*)>1

2:select s.sno,s.name from student s
where s.sno in(select sno from score sc
group by sc.cno having sum(sc.sno)>2 )

3:應為三張表;學生表A 課程表B 選修表C(cid aid bid)--沒有選修任何課程的學生的學號

❼ 如何用SQL查詢全部學生都選了人課程號和課程名

1,全部學生都選了人課程號和課程名
select b.cno,b.cname
from 學生關系 a,課程關系 b,學習關系 c where a.sno=c.sno and b.cno=c.cno
group by b.cno,b.cname having count(*)=(select count(*) from 學生關系)

2,某位學生沒有選的課程名稱
select a.sname,b.cname
from 學生關系 a,課程關系 b,學習關系 c where a.sno=c.sno and b.cno=c.cno
group by a.sname,b.cname having count(*)<(select count(*) from 課程關系)

我這是列的每個學生沒選的,要是查某位學生,加個條件就行
select a.sname,b.cname
from 學生關系 a,課程關系 b,學習關系 c where a.sno=c.sno and b.cno=c.cno
and a.sname='xxx'
group by a.sname,b.cname having count(*)<(select count(*) from 課程關系)

❽ SQL資料庫中查詢選修了所有課程的學生的學號和姓名及選修門數

所有離開了數據結構(表結構)的SQL語句都是白搭!

先假設數據結構為

學生表(學號主鍵或設有唯一索引,姓名,性別)

課程表(課程號主鍵或設有唯一索引,課程名)

選課表(課程號,學號)--欄位「課程號」和「學號"設有雙欄位唯一索引

查詢出選修了所有課程的學生的學號、姓名和選修門數:

selecta.學號,b.姓名,a.cntas選修門數from
(select學號,count(1)asascntfrom選課表groupby學號
havingcount(1)=(selectcount(1)from課程表))a,
學生表bwherea.學號=b.學號;