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

sql選課表中的問題

發布時間: 2022-10-17 22:56:54

A. 用sql語句實現:學生表、課程表、選課表三張表中的問題:

第一個
select s.sno, s.sname
from student s, sc t
where s.sno = t.sno
and t.cno = (
select c.cno
from couse c
where c.cname = '計算機原理'
);
第二個:
select c.cname
from student s, couse c, sc t
where c.cno = t.cno and t.sno = s.sno and s.sname = '周星馳';
第三個:
select s.sno, s.sname
from student s
where s.sno in (
select t.sno
from sc t
group by t.sno
having count(t.cno) = 5
);
我已經在本地資料庫建表測試過了,如果有什麼問題,可以再聯系我。

B. SQL選課表如何判斷選課時間重復

這個你描述的不是很清楚
如果是表裡的數據 可以分組查數量
例如
select name ,count(*) from table_name where shijian=** group by name having count(*)>1
但是如果表中沒有,是新增數據 ,則
let v_count = select count(*)from table_name where shijian=**
if v_count=0 then
insert ****
else
時間重復

C. SQL問題有選課表,課程表,學生表,查詢即選擇資料庫有選擇了操作系統的學生

用子查詢
select 姓名
from 學生,選課,課程
where 學生.學號=選課.學號 and 選課.課程號=課程.課程號 and 課程.課程名='資料庫'
and 學生.學號 in
(select 學生.學號
from 學生,選課,課程
where 學生.學號=選課.學號 and 選課.課程號=課程.課程號 and 課程.課程名='操作系統';
}

D. sql中創建課程表,學生表,選課表,執行錯誤,求高手改正下~

您好,從您的SQL語法中猜測,你是使用T-SQL在SQL SERVER中建立資料庫。
您的前兩個SQL中把primarykey 寫成primary key中間加個空格。
第三個語句,把identify換成大寫,即可。我已經在 sqlserver2000中測試通過了語句。呵呵。
希望能給你提供點信息。祝你好運。

E. SQL:選課表(學號,課程號,成績),現要查詢成績最高的三個學生的學號、課程號和成績,包括並列情況

select * from 選課 where 成績>=(select 成績 from (select 成績,row_number()over(order by 成績 desc nulls last ) r from 選課) where r=3) order by 成績 desc。
考慮了並列關系,原理是先求出第三名同學的成績,然後與第三名同學的成績相等的同學認為等同於第三名,最後輸出的是前三名同學,和第三名並列的也一並輸出。如果看不懂裡面某個代碼可以告訴我,我用的是ORACLE。

F. 用SQL語句實現:學生表、課程表、選課表三張表中的問題:

1)select 課程表.課程名,count(學號)From 課程表 inner join 選課表On 課程表.課程號=選課表.課程號Group by 學號 2)Create View AllChoosenAs select DISTINCT(課程表.課程名)
From 課程表 inner join 選課表 On 課程表.課程號=選課表.課程號 3)Select 學生表.姓名 From 學生表 Where 學號 Not In (Select 學號 From 選課表) 4)select 學生表.學號,學生表.姓名,課程表.課程名,課程學分 From 學生表 Left Join 選課表 On 學生表.學號=選課表.學號 Inner Join 課程表 On 課程表.課程號=選課表.課程號 5)select 學生表.姓名 From 學生表 where 學號 In (Select 學號 From 選課表 Group by 學號 Having(count(課程號)>2) 6)select 學生表.姓名 From 學生表 where 學號 In (Select 學號 From 選課表 Group by 學號 Having(count(課程號)=select count(*) From 課程表) 7)delete from 選課表 where 學號=(select top 1 學號 From 學生表 where 姓名='張三')