⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 行列转换+判断大小过滤.txt

📁 SQL语言常用的一些命令各代码
💻 TXT
字号:
4. 列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号 
题目2
  问题描述:
  已知关系模式:
  S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名
  C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
  SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩

5. 列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩 

create table  #sc (SNO int ,CNO int ,SCGRADE int)
insert into #sc select 1,1,50
insert into #sc select 1,2,60
insert into #sc select 1,3,55
insert into #sc select 2,1,50
insert into #sc select 3,2,50
insert into #sc select 3,1,50
insert into #sc select 4,1,70
insert into #sc select 4,2,50
insert into #sc select 3,1,90
/*转换CNO*/
create table  #sc1  (SNO int ,CNO varchar(8) ,SCGRADE int)
insert into #sc1 select SNO,'CNO'+cast(CNO as varchar(5)),SCGRADE from #sc
/*查询*/
declare @sql Nvarchar(4000)
select @sql=''
select @sql=@sql+','+quotename(CNO,N'''')+'=sum(case CNO when '+quotename(CNO,N'''')+' then SCGRADE else 0 end)' from #sc1 group by CNO
exec('select SNO,CNO1,CNO2 from '+'(select SNO'+@sql+'from #sc1 group by SNO) aa where CNO1>CNO2')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -