① 要查詢選修了所有課程的學生信息,怎樣用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語句查詢選修了課程的學員人數
SC表裡應該有個XKLB欄位,看這門課是否選修還是必修,因為有的課程對A來說是必修的,而對B來說就是選修,
SELECT COUNT(DISTINCT SNO) FROM SC WHERE XKLB='選修';
③ 用sql語句查詢選修了3門及以上課程的學生學號,姓名,選修的課程數
SELECT學號FROM選課表GROUPBY學號HAVINGCOUNT(*)>=3
④ SQL server 2008中怎麼查詢指定學生姓名的學生所選修課程的學分總數,學生表(學號,姓名,專業)
select sum(學分) from 學生表,課程表,選課表 where 學生表.學號=選課表.學號 and 選課表.課程號=課程表.課程號 where 姓名='張三'
⑤ 查詢每位同學的課程門數、總成績、平均成績」的SQL語句是什麼
SQL語句如下:
SELECT 學號, Count(課程編號) AS 課程總數, Sum(成績) AS 總分數, Avg(成績) AS 平均分
FROM 成績表
GROUP BY 學號;
SQL常用操作語句如下:
選擇:select * from table1 where 范圍
插入:insert into table1(field1,field2) values(value1,value2)
刪除:delete from table1 where 范圍
更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like 』%value1%』
排序:select * from table1 order by field1,field2 [desc]
總數:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
⑥ 使用SQL查詢,統計每門課程的學生選修人數
ORDER BY 2,是你在用SELECT作查詢時,用第二個欄位進行排序,
例如 select name,age from 表 order by 2,(指按age欄位排序)
select name,age,score from 表 order by 3(指按score欄位排序)
⑦ SQL資料庫中查詢選修了所有課程的學生的學號和姓名及選修門數
所有離開了數據結構(表結構)的SQL語句都是白搭!
先假設數據結構為
學生表(學號主鍵或設有唯一索引,姓名,性別)
課程表(課程號主鍵或設有唯一索引,課程名)
選課表(課程號,學號)--欄位「課程號」和「學號"設有雙欄位唯一索引
查詢出選修了所有課程的學生的學號、姓名和選修門數:
selecta.學號,b.姓名,a.cntas選修門數from
(select學號,count(1)asascntfrom選課表groupby學號
havingcount(1)=(selectcount(1)from課程表))a,
學生表bwherea.學號=b.學號;
⑧ 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查詢語句 統計有學生修讀的課程門數
1、首先在電腦中打開sql,在外層查詢中寫上S【elect * From S】查詢出學生信息,如下圖所示。
⑩ sql語句求:學生表和選課表,查出學生選擇的課程數
你用學號作為學生表和選課表的關聯欄位,進行全連接,就能得出姓名和課程數。