用sql语句创建一个教师表教师可以带多个班但不能带多门课

用sql语句创建一个教师表教师可以带多个班但不能带多门课,第1张

热门频道

首页

博客

研修院

VIP

APP

问答

下载

社区

推荐频道

活动

招聘

专题

打开CSDN APP

Copyright © 1999-2020, CSDNNET, All Rights Reserved

sql

打开APP

SQL数据库创建学生、教师、选课表 原创

2020-12-17 12:05:09

7点赞

Chowhound_i

码龄2年

关注

SQL数据库创建学生、教师、选课表

创建学生表

create table student (

sno char(14) primary key,

sname char (10) not null,

ssex char(2),

sage tinyint,

sdept varchar(20),

spassword tinyint,

)

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

创建教师表

create table teacher (

tno char(14) primary key,

tname char (10) not null,

tsex char(2),

tage tinyint,

sdept varchar(20),

spassword tinyint,

)

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

创建选课表

create table course (

cno char(10),

sno char(14) not null,

tno char(14) not null,

cyear tinyint,

cterm tinyint,

grade tinyint,

primary key(sno,tno),

foreign key(sno) references student(sno),

foreign key(tno) references teacher(tno),

)

1

2

3

4

5

6

7

8

9

10

11

1

2

3

4

5

6

7

8

9

10

11

文章知识点与官方知识档案匹配

MySQL入门技能树使用数据库创建和删除表

28046 人正在系统学习中

点击阅读全文

打开CSDN,阅读体验更佳

3SQL--创建教师表和向表内插入数据_weixin_33712881的博客

3SQL--创建教师表和向表内插入数据 --创建教师表,并向表内插入数据 create table Teacher(Tid varchar(10),Tname nvarchar(10)) --向表内插入数据 insertinto Teacher values('01' , '韩寒') insert into Teacher values('02

sql语句(学生表、课程表、分数表、教师表)_煜帆帆的博客

student(学生表)、teacher(教师表)、course(课程表)、sc(分数表) 2、创建表 //学生表 create table student( sno varchar2(10) primary key, sname varchar2(20), sage number(2), ssex varchar2(5) ); 1 2 3 4 5 6

热门推荐 创建一个数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)

创建一个数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表… 表(一)Student (学生表) 属性名 数据类型 可否为空 含 义 Sno varchar (20) 否 学号 Sname varchar (20) 否 学生姓名 Ssex varchar

继续访问

mysql创建教师表_day34 mysql 认识数据库,创建学生,教师,学院表

数据库 - 数据的仓库(集散地) - database - 实现数据持久化和数据管理持久化 - 将数据从内存转移到能够长久保存数据的存储介质的过程数据库的分类:关系型数据库(SQL)和非关系型数据库(NoSQL)文件系统 / 层次数据库 / 网状数据库关系型数据库1970s - EFCodd - IBM研究员 - System R理论基础:关系代数和集合论具体表象:用二维表来保存数据 - 学生

继续访问

使用SQL语句创建及使用SQLServer数据库_MyAnqi的博客

1使用SQL语句在数据库中Student表插入对应表格前2行元组。 insert into Student(sno,sn,sex,bor,clano,age)values(108,'曾华','男','1992-09-01','09033',22); insert into Student(sno,sn,sex,bor,clano,age)values(105,

名学生的SQL语句。_白一晓的博客_查询教师表中的总人数

在Mysql面试的写SQL语句环节中,有人曾碰到了这样一道这样的一道SQL语句题。目前有两张数据表,一张学生,一张老师表。里面都有Name和Code两个字段。求出张三的老师一共有多少名学生。 这样,我们还是先建两张普通的数据表。

最新发布 mysql 创建学生表、课程表、学生选课表

学生-课程数据库中包含以下三个表关系的主码加粗表示,各个表中的数据实例:StudentCourseSCSno为Student表的主键,Cno为Course表的主键,SC表中外键Sno,Cno分别是Student表和Course表的主键

继续访问

数据库实验报告一

KingBase数据库下SQL语句的基本使用

继续访问

数据库sql语句练习_Young_991的博客

一、设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题

和MySQL示例查询_库特社区的博客_sql创建教师信息表

了解如何在其中创建表是一个重要且基本的概念。SQL 在本教程中,我将使用 PostgreSQL 和 MySQL 的代码示例向您介绍语句的语法。SQLCREATE TABLE 基本语法CREATE TABLE 以下是该语句的基本语法:CREATE TABLE

SQL基本SQL数据表(学生、老师、课程、成绩)

create table student--创建student数据表 ( s_no char(10) not null, --学号 s_name nchar(10), --姓名 s_sex char(2), --性别 borndate smalldatetime,--出生日期 ClassName nvarchar(50), --班级名称 Telephone varchar(11), --电话号码 EnrollDate smal

继续访问

数据库题:学生表,选课表,课程表写SQL(多表)

设教学数据库中有三个基本表: 学生表 S(SNO,SNAME,AGE,SEX),其属性表示学生的学号、姓名、年龄和性别;选课表 SC(SNO,CNO,GRADE),其属性表示学生的学号、所学课程的课程号和成绩;课程表 C(CNO,CNAME,TEACHER),其属性表示课程号、课程名称和任课教师姓名。 下面的题目都是针对上述三个基本表 *** 作的(原题S#、C#这样子写法在查询的时候会报错,这里就用S

继续访问

2021-09-06

#创建db_test数据库 create DATABASE db_test CHARACTER set utf8; use db_test; #在test数据库中创建teacher表 create table teacher( number int PRIMARY key auto_increment, tname VARCHAR(30), sex VARCHAR(4), depno int, salary float, address VARCHAR(

继续访问

太原理工大学软件学院数据库实验四(2021426)

太原理工大学软件学院数据库实验四(2021426) -- (1)创建Student 表 CREATE TABLE Student ( Sno CHAR(8) PRIMARY KEY, Sname CHAR(8) NOT NULL, Ssex CHAR(2) CHECK( Ssex in ('男','女')), Sage SMALLINT, Sdept CHAR(20), Sclass CHAR(4) NOT NULL, Stotal smallint DEFAULT 0 ); -- (2)创建Cours

继续访问

SQL语言编程实战系列(一)——教学管理数据库的创建和简单 *** 作

SQL语言编程实战系列(一)——教学管理数据库的创建和简单 *** 作,基于《数据库原理与设计——基于SQL Server2012》王世民等编著P204-综合题531编写的解答。

继续访问

SQL建表语句(建立学生_课程数据库)

SQL建表语句(建立学生_课程数据库) (1)建立学生_课程数据库 (2)包含学生表Student 包含Sno(学号),Sname(姓名),Ssex(性别),Sage(年龄),Sdapt(所在系)属性列 学号为主码(主键) (3)创建课程表Course 包含Cno(课程号),Cname(课程名),Cpno(先行课课程号),Credit(学分)属性列 课程号为主码(主键) (4)学生_课程表SC 包含Sno(学号),Cno(课程号),Grade(成绩)属性列 学号,课程号为主码(主键) Creat

继续访问

Oracle完整的试题

[code="java"]create table student( sno varchar2(10) primary key, sname varchar2(20), sage number(2), ssex varchar2(5) ); create table teacher( tno varchar2(10) primary key, tname varchar2(20)

继续访问

用mysql创建学生成绩表_用SQL创建学生成绩数据库

创建数据库school,这个数据库中包含四个表:分别是学生表、教师表、课程表和成绩表。语法:create database school;(创建数据库school)show databases;(查看是否已经创建好)drop database school;(删除数据库school,这里不必删除)2设计创建学生表、教师表、课程表和成绩表。语法:use school;create table st

继续访问

数据库面试----学生、老师、课程、选课表常用sql示例

数据库面试----学生、老师、课程、选课表常用sql示例 请先看看六大范式详解 1——建表 (1)学生表 student DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `sid` int(11) DEFAULT NULL, `sname` varchar(20) DEFAULT NULL, `sage` int(11) DEFAULT NULL, `ssex` varchar(20) DEFAULT NULL ) ENGIN

继续访问

创建学院表 学生表 教师表 课程表 选课记录表

为什么要使用数据库 解决数据持久化问题 高效的管理数据(增删改查) 数据库的分类: 关系型数据库 理论基础:关系代数 具体表象:二维表 行:记录 列:字段 编程语言:SQL(结构化查询语言) DDL - 数据定义语言 —> create / drop / alter DML - 数据 *** 作语言 —> insert / delete / update DQL - 数据查询语言 —> select DCL - 数据控制语言 —> grant / revoke

继续访问

将数据插入教师表sql

sql 插入多条语句

合肥工业大学—SQL Server数据库实验三:SQL语句创建和删除基本表

SQL语句创建和删除基本表1 编写6个基本表2 修改基本表结构,完整性约束条件3 用Drop table 语句删除基本表 1 编写6个基本表 设有简单教学管理的6个关系模式如下: 系(系编号,系名称、系主任、联系电话、地址) 专业(专业编号、专业名称、所属系) 教师(教师编号、姓名、所在系、电话、电子信箱) 学生(学号、姓名、性别、出生日期、所学专业) 课程(课程号、课程名、学分、先修课) 学生选课(学号、课程号、成绩) 要求:在数据库EDUC中,创建对应的6个基本表,基本表的名称和属性名称由

继续访问

学习好sql

科目表 Course数据表介绍 --1学生表 Student(SId,Sname,Sage,Ssex) --SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2课程表 Course(CId,Cname,TId) --CId 课程编号,Cname 课程名称,TId 教师编号 --3教师表 Teacher(TId,Tname) --TId 教师编号,Tna

继续访问

CSDN学霸课表——NoSQL是什么

《NoSQL是什么》 NoSQL(NoSQL = Not Only SQL),意即反SQL运动,是一项全新的数据库革命性运动。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于目前铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。 ►阅读全文 Redis集群架构讲师:李兴华 Redis是现在使用最为广泛的NoSQL数据库技术,其自身不仅拥有着良好的 *** 作性能,也被广

继续访问

MySQL的teaching表建立_MySQL-一- 创建数据表

问题一:如何验证MySQL数据库安装成功?问题二:如何用客户端navicat连接到MySQL数据库?练习:创建学校数据库的表2创建数据库21 创建学生表student22创建成绩表score23创建课程表course24创建教师表 teacher注:这里教师姓名可以为null3练习插入数据31 向学生表里添加数据32向成绩表中添加数据33向课程表中添加数据34向教师表中添加数据

继续访问

学生选课在MYSQL创建表_设要建立“学生选课”数据库,库中包括学生、课程和选课 3 个表,其表结构为: 学生(学号,姓名,性别,年龄,所在系) 课程(课程号,课程名,先行课) 选课(学号,课程号,成

单选题湿空气的下列参数:I干球温度、II湿球温度、III露点温度,它们之间的大小关系是填空题在缺省情况下,所创建的索引是_________索引。其它使用 T-SQL 命令,完成下面的 *** 作。 1 创建学生成绩视图(学号,姓名,课程编号,课程名称,成绩) 。 2 创建信息系学生视图(学号,姓名,性别,系名,出生日期,民族,总学分,备注)。 3 创建优秀学生视图(学号,姓名,平均

继续访问

用sql语句创建一个教师表

sql

写评论

评论

35

7

分享

前往CSDN APP阅读全文

阅读体验更佳

CSDN

成就一亿技术人

前往

Chrome浏览器

继续

打开CSDN APP阅读体验更佳

Student(Sid,Sname,Sage,Ssex)学生表

Sid:学号

Sname:学生姓名

Sage:学生年龄

Ssex:学生性别

Course(Cid,Cname,Tid)课程表

Cid:课程编号

Cname:课程名称

Tid:教师编号

SC(Sid,Cid,score)成绩表

Sid:学号

Cid:课程编号

score:成绩

Teacher(Tid,Tname)教师表

Tid:教师编号:

Tname:教师名字

1、插入数据

2、删除课程表所有数据

3、将学生表中的姓名 张三修改为张大山

或者

4、查询姓’李’的老师的个数:

5、查询所有课程成绩小于60的同学的学号、姓名:

6、查询没有学全所有课的同学的学号、姓名

7、查询平均成绩大于60分的同学的学号和平均成绩

8、查询学过“100”并且也学过编号“101”课程的同学的学号、姓名

9、查询“100”课程比“101”课程成绩高的所有学生的学号

10、查询课程编号“100”的成绩比课程编号“101”课程高的所有同学的学号、姓名

11、查询学过“鲁迅”老师所教的所有课的同学的学号、姓名

12、查询所有同学的学号、姓名、选课数、总成绩

13、查询至少有一门课与学号为“1”同学所学相同的同学的学号和姓名

14、把“SC”表中“鲁迅”老师教的课的成绩都更改为此课程的平均成绩,

错误

15、查询和“2”学号的同学学习的课程完全相同的其他同学学号和姓名

16、删除学习“鲁迅”老师课的SC表记录

17、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“003”课程的同学学号、002号课的平均成绩

18、查询各科成绩最高和最低的分:以如下的形式显示:课程ID,最高分,最低分

19、按各科平均成绩从低到高和及格率的百分数从高到低顺序

20、查询如下课程平均成绩和及格率的百分数(用”1行”显示): 数学(100),语文(101),英语(102)

22、查询不同老师所教不同课程平均分从高到低显示

23、查询如下课程成绩第3名到第6名的学生成绩单:数学(100),语文(101),英语(102)

23、统计下列各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ 小于60]

24、查询学生平均成绩及其名次

25、查询各科成绩前三名的记录(不考虑成绩并列情况)

26、查询每门课程被选修的学生数

27、查询出只选修一门课程的全部学生的学号和姓名

28、查询男生、女生人数

29、查询姓“张”的学生名单

30、查询同名同姓的学生名单,并统计同名人数

31、1981年出生的学生名单(注:student表中sage列的类型是datetime)

32、查询平均成绩大于85的所有学生的学号、姓名和平均成绩

33、查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同时,按课程号降序排列

34、查询课程名称为“英语”,且分数低于60的学生名字和分数

35、查询所有学生的选课情况

36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数

37、查询不及格的课程,并按课程号从大到小的排列

38、查询课程编号为“101”且课程成绩在80分以上的学生的学号和姓名

39、求选了课程的学生人数:

40、查询选修“鲁迅”老师所授课程的学生中,成绩最高的学生姓名及其成绩

41、检索至少选修两门课程的学生学号

42、查询全部学生都选修的课程的课程号和课程名(1一个课程被全部的学生选修,2所有的学生选择的所有课程)

43、查询没学过“鲁迅”老师讲授的任一门课程的学生姓名

44、查询两门以上不及格课程的同学的学号及其平均成绩

45、检索“101”课程分数小于60,按分数降序排列的同学学号

46、删除“2”同学的“101”课程的成绩

建表语句

CREATE TABLE student

(

s# INT,

sname nvarchar(32),

sage INT,

ssex nvarchar(8)

)

CREATE TABLE course

(

c# INT,

cname nvarchar(32),

t# INT

)

CREATE TABLE sc

(

s# INT,

c# INT,

score INT

)

CREATE TABLE teacher

(

t# INT,

tname nvarchar(16)

)

插入测试数据语句

insert into Student select 1,N'刘一',18,N'男' union all

select 2,N'钱二',19,N'女' union all

select 3,N'张三',17,N'男' union all

select 4,N'李四',18,N'女' union all

select 5,N'王五',17,N'男' union all

select 6,N'赵六',19,N'女'

insert into Teacher select 1,N'叶平' union all

select 2,N'贺高' union all

select 3,N'杨艳' union all

select 4,N'周磊'

insert into Course select 1,N'语文',1 union all

select 2,N'数学',2 union all

select 3,N'英语',3 union all

select 4,N'物理',4

insert into SC

select 1,1,56 union all

select 1,2,78 union all

select 1,3,67 union all

select 1,4,58 union all

select 2,1,79 union all

select 2,2,81 union all

select 2,3,92 union all

select 2,4,68 union all

select 3,1,91 union all

select 3,2,47 union all

select 3,3,88 union all

select 3,4,56 union all

select 4,2,88 union all

select 4,3,90 union all

select 4,4,93 union all

select 5,1,46 union all

select 5,3,78 union all

select 5,4,53 union all

select 6,1,35 union all

select 6,2,68 union all

select 6,4,71

问题

问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号; select aS# from (select s#,score from SC where C#='001') a,(select s#,score from SC where C#='002') b where ascore>bscore and as#=bs#; 2、查询平均成绩大于60分的同学的学号和平均成绩; select S#,avg(score) from sc group by S# having avg(score) >60; 3、查询所有同学的学号、姓名、选课数、总成绩; select StudentS#,StudentSname,count(SCC#),sum(score) from Student left Outer join SC on StudentS#=SCS# group by StudentS#,Sname 4、查询姓“李”的老师的个数; select count(distinct(Tname)) from Teacher where Tname like '李%'; 5、查询没学过“叶平”老师课的同学的学号、姓名; select StudentS#,StudentSname from Student where S# not in (select distinct( SCS#) from SC,Course,Teacher where SCC#=CourseC# and TeacherT#=CourseT# and TeacherTname='叶平'); 6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名; select StudentS#,StudentSname from Student,SC where StudentS#=SCS# and SCC#='001'and exists( Select from SC as SC_2 where SC_2S#=SCS# and SC_2C#='002'); 7、查询学过“叶平”老师所教的所有课的同学的学号、姓名; select S#,Sname from Student where S# in (select S# from SC ,Course ,Teacher where SCC#=CourseC# and TeacherT#=CourseT# and TeacherTname='叶平' group by S# having count(SCC#)=(select count(C#) from Course,Teacher where TeacherT#=CourseT# and Tname='叶平')); 8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名; Select S#,Sname from (select StudentS#,StudentSname,score ,(select score from SC SC_2 where SC_2S#=StudentS# and SC_2C#='002') score2 from Student,SC where StudentS#=SCS# and C#='001') S_2 where score2 <score; 9、查询所有课程成绩小于60分的同学的学号、姓名; select S#,Sname from Student where S# not in (select SS# from Student AS S,SC where SS#=SCS# and score>60); 10、查询没有学全所有课的同学的学号、姓名; select StudentS#,StudentSname from Student,SC where StudentS#=SCS# group by StudentS#,StudentSname having count(C#) <(select count(C#) from Course); 11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名; select distinct S#,Sname from Student,SC where StudentS#=SCS# and SCC# in (select C# from SC where S#='1001'); 12、查询至少学过学号为“001”同学所有一门课的其他同学学号和姓名; select distinct SCS#,Sname from Student,SC where StudentS#=SCS# and C# in (select C# from SC where S#='001'); 13、把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩; update SC set score=(select avg(SC_2score) from SC SC_2 where SC_2C#=SCC# ) from Course,Teacher where CourseC#=SCC# and CourseT#=TeacherT# and TeacherTname='叶平'); 14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名; select S# from SC where C# in (select C# from SC where S#='1002') group by S# having count()=(select count() from SC where S#='1002'); 15、删除学习“叶平”老师课的SC表记录; Delect SC from course ,Teacher where CourseC#=SCC# and CourseT#= TeacherT# and Tname='叶平'; 16、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“003”课程的同学学号、2、 号课的平均成绩; Insert SC select S#,'002',(Select avg(score) from SC where C#='002') from Student where S# not in (Select S# from SC where C#='002'); 17、按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示: 学生ID,,数据库,企业管理,英语,有效课程数,有效平均分 SELECT S# as 学生ID ,(SELECT score FROM SC WHERE SCS#=tS# AND C#='004') AS 数据库 ,(SELECT score FROM SC WHERE SCS#=tS# AND C#='001') AS 企业管理 ,(SELECT score FROM SC WHERE SCS#=tS# AND C#='006') AS 英语 ,COUNT() AS 有效课程数, AVG(tscore) AS 平均成绩 FROM SC AS t GROUP BY S# ORDER BY avg(tscore) 18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分 SELECT LC# As 课程ID,Lscore AS 最高分,Rscore AS 最低分 FROM SC L ,SC AS R WHERE LC# = RC# and Lscore = (SELECT MAX(ILscore) FROM SC AS IL,Student AS IM WHERE LC# = ILC# and IMS#=ILS# GROUP BY ILC#) AND RScore = (SELECT MIN(IRscore) FROM SC AS IR WHERE RC# = IRC# GROUP BY IRC# );

自己写的:select c# ,max(score)as 最高分 ,min(score) as 最低分 from dbosc group by c# 19、按各科平均成绩从低到高和及格率的百分数从高到低顺序 SELECT tC# AS 课程号,max(courseCname)AS 课程名,isnull(AVG(score),0) AS 平均成绩 ,100 SUM(CASE WHEN isnull(score,0)>=60 THEN 1 ELSE 0 END)/COUNT() AS 及格百分数 FROM SC T,Course where tC#=courseC# GROUP BY tC# ORDER BY 100 SUM(CASE WHEN isnull(score,0)>=60 THEN 1 ELSE 0 END)/COUNT() DESC 20、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 企业管理(001),马克思(002),OO&UML (003),数据库(004) SELECT SUM(CASE WHEN C# ='001' THEN score ELSE 0 END)/SUM(CASE C# WHEN '001' THEN 1 ELSE 0 END) AS 企业管理平均分 ,100 SUM(CASE WHEN C# = '001' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '001' THEN 1 ELSE 0 END) AS 企业管理及格百分数 ,SUM(CASE WHEN C# = '002' THEN score ELSE 0 END)/SUM(CASE C# WHEN '002' THEN 1 ELSE 0 END) AS 马克思平均分 ,100 SUM(CASE WHEN C# = '002' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '002' THEN 1 ELSE 0 END) AS 马克思及格百分数 ,SUM(CASE WHEN C# = '003' THEN score ELSE 0 END)/SUM(CASE C# WHEN '003' THEN 1 ELSE 0 END) AS UML平均分 ,100 SUM(CASE WHEN C# = '003' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '003' THEN 1 ELSE 0 END) AS UML及格百分数 ,SUM(CASE WHEN C# = '004' THEN score ELSE 0 END)/SUM(CASE C# WHEN '004' THEN 1 ELSE 0 END) AS 数据库平均分 ,100 SUM(CASE WHEN C# = '004' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '004' THEN 1 ELSE 0 END) AS 数据库及格百分数 FROM SC

21、查询不同老师所教不同课程平均分从高到低显示

SELECT max(ZT#) AS 教师ID,MAX(ZTname) AS 教师姓名,CC# AS 课程ID,MAX(CCname) AS 课程名称,AVG(Score) AS 平均成绩

FROM SC AS T,Course AS C ,Teacher AS Z

where TC#=CC# and CT#=ZT#

GROUP BY CC#

ORDER BY AVG(Score) DESC

22、查询如下课程成绩第 3 名到第 6 名的学生成绩单:企业管理(001),马克思(002),UML (003),数据库(004)

[学生ID],[学生姓名],企业管理,马克思,UML,数据库,平均成绩

SELECT DISTINCT top 3

SCS# As 学生学号,

StudentSname AS 学生姓名 ,

T1score AS 企业管理,

T2score AS 马克思,

T3score AS UML,

T4score AS 数据库,

ISNULL(T1score,0) + ISNULL(T2score,0) + ISNULL(T3score,0) + ISNULL(T4score,0) as 总分

FROM Student,SC LEFT JOIN SC AS T1

ON SCS# = T1S# AND T1C# = '001'

LEFT JOIN SC AS T2

ON SCS# = T2S# AND T2C# = '002'

LEFT JOIN SC AS T3

ON SCS# = T3S# AND T3C# = '003'

LEFT JOIN SC AS T4

ON SCS# = T4S# AND T4C# = '004'

WHERE studentS#=SCS# and

ISNULL(T1score,0) + ISNULL(T2score,0) + ISNULL(T3score,0) + ISNULL(T4score,0)

NOT IN

(SELECT

DISTINCT

TOP 15 WITH TIES

ISNULL(T1score,0) + ISNULL(T2score,0) + ISNULL(T3score,0) + ISNULL(T4score,0)

FROM sc

LEFT JOIN sc AS T1

ON scS# = T1S# AND T1C# = 'k1'

LEFT JOIN sc AS T2

ON scS# = T2S# AND T2C# = 'k2'

LEFT JOIN sc AS T3

ON scS# = T3S# AND T3C# = 'k3'

LEFT JOIN sc AS T4

ON scS# = T4S# AND T4C# = 'k4'

ORDER BY ISNULL(T1score,0) + ISNULL(T2score,0) + ISNULL(T3score,0) + ISNULL(T4score,0) DESC);

23、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]

SELECT SCC# as 课程ID, Cname as 课程名称

,SUM(CASE WHEN score BETWEEN 85 AND 100 THEN 1 ELSE 0 END) AS [100 - 85]

,SUM(CASE WHEN score BETWEEN 70 AND 85 THEN 1 ELSE 0 END) AS [85 - 70]

,SUM(CASE WHEN score BETWEEN 60 AND 70 THEN 1 ELSE 0 END) AS [70 - 60]

,SUM(CASE WHEN score < 60 THEN 1 ELSE 0 END) AS [60 -]

FROM SC,Course

where SCC#=CourseC#

GROUP BY SCC#,Cname;

24、查询学生平均成绩及其名次

SELECT 1+(SELECT COUNT( distinct 平均成绩)

FROM (SELECT S#,AVG(score) AS 平均成绩

FROM SC

GROUP BY S#

) AS T1

WHERE 平均成绩 > T2平均成绩) as 名次,

S# as 学生学号,平均成绩

FROM (SELECT S#,AVG(score) 平均成绩

FROM SC

GROUP BY S#

) AS T2

ORDER BY 平均成绩 desc;

原文地址:>

比较简单的方法是 treeView 与 listView 组件都使用带数据库支持的,这样只需要设计好数据库和输入好数据就可以了,比如: DBAdvListView、dxDBTreeView 等。

如果使用 delphi 平常使用的控件,需要自己编写代码来调取数据,并将数据更新到相应的数据库中。

1

select 英语学号

from Score 英语

left join

(

select 学号,课程代码,成绩

from Score where 课程代码='数学课程代码'

) as 数学

on 英语学号=数学学号

where 英语课程代码='英语课程代码' and 英语成绩>数学成绩

2

select Student学号,Student姓名,AVG(成绩) as 平均成绩

from Score

left join Student on Student学号 =Score学号

group by Student学号,Student姓名

having AVG(Score成绩)>30

3

select Student学号,Student姓名, ISNULL(选课_成绩选课数,0) as 选课数,ISNULL(选课_成绩总成绩,0) as 总成绩

from Student

left join

(

select 学号, COUNT(Score课程代码) as 选课数,SUM(Score成绩) as 总成绩

from Score group by 学号

) as 选课_成绩

on Student学号= 选课_成绩学号

4

select a学号,a姓名 from Student as a

where a学号 not in(

select distinct(Student学号) as 学号

from Student

left join Score on Score课程代码 =

(

select Course课程代码 from Course

where Course教师编号 =

(

select Teacher教师编号 from Teacher

where Teacher教师姓名='王军'

)

)

)

仅供学习参考

创建表

create table teachers(

tno char(7) PRIMARY KEY,

tname nchar(5) not null,

tsex char(2) check (tsex ='男' or tsex ='女')  ,

birthday smalldatetime,

dept char(20),

phone char(8) unique check(like(phone, '1[35][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'))

)

2添加列

alter table tc add Type nchar(1)

3修改列的类型

alter table tc alter column Type nchar(2)

4删除列

alter table tc drop column Type

教师有ID,这个是教师表的主键。

学生有学号,这个学生表的主键。

老师教授的有课程,课程表的主键是课程号。

学生选课,根据学号和所选的课程号就能确定教师了,这样就建立了联系。

<1>select sname,sex from S order by sex desc;

<2>select from S where sname not like '王%';

<3>select sname from S where snum in(select snum from SC);

<4>应该是查询所有选课的同学吧

slecct ssnum,ssname,ccname from S s,C c where ccnum in(select distinct cnum from SC);

<5>select ttname,ccname from C c,T t where tsex='女' and ttnum=ctnum;

<6>select count(Tnum) from Tnum where title='教授';

<7>select ccnum,count(ssnum) as sumnum from C c,S s where ccnum=scnum group by ccnum;

<8>select from S where dept=(select dept from S where sname='刘三');

<9>select snum,sname from S where snum in(select snum from SC where cnum=(select cnum from C where cname='数据库原理'));

有问题找我

以上就是关于用sql语句创建一个教师表教师可以带多个班但不能带多门课全部的内容,包括:用sql语句创建一个教师表教师可以带多个班但不能带多门课、mysql数据库面试题(学生表_课程表_成绩表_教师表)、Student 学生表 ,Course 课程表 ,SC成绩表 ,Teacher 教师表,sql *** 作运用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9567923.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存