sql server2019r2查詢各系有3門以上課程不及格的學號,姓名,系名,不及格門數

2021-04-14 11:16:42 字數 3708 閱讀 9345

1樓:嘎嘎版額

select max(age) max_age,xuehao,xingming,age,ximing

from table_name

group by 系id,xuehao,xingming,age,ximing

2樓:上官淑珍靖溪

姓名varchar(10)

這個型別表示

字串長度可變(人名有

2個字、專3個字、4個字、5個字)

學號int

學號都是數字屬

所以是整型

性別char(2)

兩種可能(男或女)

院系varchar(30)

也是字串,名字有長有短

建立一個儲存過程,給定某學生學號,要求查詢出該學生的姓名,所選課程名和成績.(sql server)

3樓:莫道無情

/*建立儲存過程*/

create procedure proc_select--建立儲存過程

@sno char(10) output,--輸入輸出引數

@sname varchar(20) out,--輸出引數

@cno char(4) out,--輸出引數

@grade tinyint out--輸出引數

asselect @sname=sname,@sno=student.sno,@cno=cno,@grade=grade --select裡面寫輸出引數

from student,sc  --從學生表,選修表中查詢

where @sno=student.sno--where裡面寫輸入引數

/*根據給定學號查詢*/

create proc  proc_lab4 --儲存過程中含有遊標

@sno char(10)

asdeclare @ssno char(10),@ssname char(20),@ccname char(20),@scg int--宣告四個變數

declare cursor_s cursor--宣告遊標

forselect student.sno,sname,cname,grade

from student,course,sc--從三個表中選擇學號、姓名、課程名、成績

where student.sno=sc.sno and course.cno=sc.cno and sname=@sname;--連線

open cursor_s--開啟遊標

fetch next from cursor_s into @ssno,@ssname,@ccname,@scg

while @@fetch_status=0

begin

print @ssno+@ssname+@ccname+convert(char(10),@scg)

fetch next from cursor_s into @ssno,@ssname,@ccname,@scg

endclose cursor_s--關閉遊標

deallocate cursor_s--釋放遊標

exec proc_lab4 '201215121'

--只帶輸入引數

create proc p2

@sno char(10)

asselect student.sno,sname,cname,grade

from student,sc,course

where student.sno=sc.sno and sc.cno=course.cno

and sname=@sname

擴充套件資料:

建立儲存過程基本語法

create procedure sp_name

@[引數名] [型別],@[引數名] [型別]

asbegin

.........

end以上格式還可以簡寫成:

create proc sp_name

@[引數名] [型別],@[引數名] [型別]

asbegin

.........

end/*注:「sp_name」為需要建立的儲存過程的名字,該名字不可以以阿拉伯數字開頭*/

4樓:匿名使用者

select name,course,grades from student s

left join course c on c.sid = s.sid

left join achievement a on a.cid = c.cid

where s.id = 10

5樓:匿名使用者

建立過程:

create procedure proc_stu@sno nchar(9)

asselect sname,cname,gradefrom s join sc on s.sno=sc.sno join c on sc.cno=c.cno

where sno=@sno

呼叫過程:

declare @sno nchar(10)set @sno='161343001'

exec proc_stu @sno

sql server 2005 查詢有3門以上課程是90分以上的學生的學號及(90分以上的)課程 怎麼程式設計啊? 5

6樓:匿名使用者

student(s#,sname,sage,s***) 學生表 ­

course(c#,cname,t#) 課程表 ­

sc(s#,c#,score) 成績表 ­

teacher(t#,tname) 教師表

select student.s#,sc.score from (select student.s#,sc.score ­

from student,sc ­ where sc.score>=90 and sc.s#=student.

s#) temp where count(student.s#)>3

手寫 沒測試過 或者換成2部完成 第一步 取出 所有成內績大於90分的課程和容學生

第二步 取出 有3門被選中的學生 這樣就是最後結果了 提供一個思路

7樓:

select 學號,成績 from 成績表 t1 where (select count(1) from 成績表 where 學號=t1.學號 and 成績》90)>3 and 成績》90

sql:查詢每門課程的課程名、選課學生姓名及其學號,選課人數

8樓:匿名使用者

我的學生資料庫跟你的差不多,我就用我的這些表給你做了個

select c.cno,s.sname,s.sno,選課人數 from course c

left join sc on c.cno=sc.cno

left join student s on s.sno=sc.sno

left join (select c.cno, count(s.sno) 選課人數 from

course c left join sc on c.cno=sc.cno

left join student s on s.sno=sc.sno

group by c.cno) as t on t.cno=c.cno

9樓:

你連關係都沒給,怎麼查。。。

sql server 2019 r2 怎麼連線到伺服器

開啟sql2008,使用windows身份登入 2登入後,右鍵選擇 屬性 左側選擇 安全性 選中右側的 sql server 和 windows 身份驗證模式 以啟用混合登入模式 3選擇 連線 勾選 允許遠端連線此伺服器 然後點 確定 安全性 登入名 sa 右鍵選擇 屬性 左側選擇 常規 右側選擇 ...

windowsserver2019r2和一般版本有什麼區別

windows server 2008是基於windows vista 的伺服器系統,有32位和64位兩個版本。windows server 2008 r2是基於windows 7的伺服器作業系統只有64位版。和2003不同windows server 2008 r2並不是2008的升級版,兩個版本...

Windows Server2019 R2怎麼去掉登入密碼

第一步 點選開啟開始選單點選 控制面板 如下圖所示。第二步 點選使用者帳戶,如下圖所示。第三步 看到有個刪除密碼選項,點選進行密碼刪除,如下圖所示。第四步 提示是否要刪除密碼,點選輸入當前密碼,如下圖所示。第五步 確認密碼輸入無誤,點選刪除密碼就可以了,如下圖所示。第六步 現在就可以看到你的帳戶上沒...