请根据给出的数据库表的结构和要求,写出相应的Sql语句。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请根据给出的数据库表的结构和要求,写出相应的Sql语句。相关的知识,希望对你有一定的参考价值。

对于教学数据库的几个基本表:

表1 student表(学生信息表)
字段名称
类 型
宽 度
允许空值
主 键
说 明
sno
char
8
NOT NULL

学生学号
sname
char
8
NOT NULL

学生姓名
sex
char
2
NULL

学生性别
native
char
20
NULL

籍贯
birthday
smalldate
4
NULL

学生出生日期
dno
char
6
NULL

学生所在院系
spno
char
8
NULL

专业代码(外键)
classno
char
4
NULL

班级号
entime
smalldate
4
NULL

学生入校时间
home
varchar
40
NULL

学生家庭住址
tel
varchar
40
NULL

学生联系电话

表2 course表(课程信息表)
字段名称
类 型
宽 度
允许空值
主 键
说 明
cno
char
10
NOT NULL

课程编号
spno
char
8
NULL

专业代码(外键)
cname
char
20
NOT NULL

课程名称
ctno
tinyint
1
NULL

课程类型编号(外键)
experiment
tinyint
1
NULL

实验时数
lecture
tinyint
1
NULL

授课学时
semester
tinyint
1
NULL

开课学期
credit
tinyint
1
NULL

课程学分

表3 student_course表(学生选课成绩表)
字段名称
类 型
宽 度
允许空值
主 键
说 明
sno
char
8
NOT NULL

学生学号
tcid
smallint
2
NOT NULL

上课编号
score
tinyint
1
NULL

学生成绩

表4 teacher表(教师信息表)
字段名称
类 型
宽 度
允许空值
主 键
说 明
tno
char
8
NOT NULL

教师编号
tname
char
8
NOT NULL

教师姓名
sex
char
2
NULL

教师性别
birthday
smalldate
4
NULL

教师出生日期
dno
char
6
NULL

教师所在院系
pno
tinyint
1
NULL

教师职务或职称编号
home
varchar
40
NULL

教师家庭住址
zipcode
char
6
NULL

邮政编码
tel
varchar
40
NULL

联系电话
email
varchar
40
NULL

电子邮件

表5 teacher_course表(教师上课课表)
字段名称
类 型
宽 度
允许空值
主 键
说 明
tcid
smallint
2
NOT NULL

上课编号
tno
char
8
NULL

教师编号(外键)
spno
char
8
NULL

专业代码(外键)
classno
char
4
NULL

班级号
cno
char
10
NOT NULL

课程编号(外键)
semester
char
6
NULL

学期
schoolyear
char
10
NULL

学年
classtime
varchar
40
NULL

上课时间
classroom
varchar
40
NULL

上课地点
weektime
tinyint
1
NULL

每周课时数

试用SQL的查询语句表达下列查询:

(1)查询姓‘刘’的老师所授课程的课程编号号和课程名。
(2)查询在1990年1月1日以后出生的学生信息。
(3)查询‘数据库’这门课的授课学时和学分。
(4)查询‘数据库’这门课的上课时间和上课地点。
(5)查询‘数据库’这门课的授课教师姓名、性别和联系电话。
对不起,昨天由于太着急了所以才那样的 让你们费心了 谢谢

楼主,你好!

你发表的这个知道,页面排版实在不敢让人恭维...

请重新排版发表,不然的话,想帮助你的人也看不懂

你也可以将数据库表格截图发表,这样的话更直观
毕竟如果要帮助你,我们肯定会在本地实现的。

希望能帮助你
参考技术A 摆脱你可不可换成表啊 参考技术B 怎么感觉你这个英文的字段名都乱七八糟的 跟中文的对不上号啊

2022-11-23: 分数排名。输出结果和表的sql如下。请写出输出结果的sql语句? +-------+------+ | score | rank | +-------+------+ | 4.

2022-11-23: 分数排名。输出结果和表的sql如下。请写出输出结果的sql语句?
±------±-----+
| score | rank |
±------±-----+
| 4.00 | 1 |
| 4.00 | 1 |
| 3.85 | 2 |
| 3.65 | 3 |
| 3.65 | 3 |
| 3.50 | 4 |
±------±-----+

DROP TABLE IF EXISTS scores;
CREATE TABLE scores (
  id int(11) NOT NULL,
  score decimal(10,2) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO scores VALUES ('1', '3.50');
INSERT INTO scores VALUES ('2', '3.65');
INSERT INTO scores VALUES ('3', '4.00');
INSERT INTO scores VALUES ('4', '3.85');
INSERT INTO scores VALUES ('5', '4.00');
INSERT INTO scores VALUES ('6', '3.65');

答案2022-11-23:

sql语句如下:

select a.score as score,
(select count(distinct b.score) from scores b where b.score >= a.score) as rank
from scores a
order by a.score desc

以上是关于请根据给出的数据库表的结构和要求,写出相应的Sql语句。的主要内容,如果未能解决你的问题,请参考以下文章

请根据给出的数据库表的结构和要求,写出相应的Sql语句。

请根据要求写出相应的sql语句:查询score表中,语文成绩的最高分?

写出查询的SQL语句

用SQL语句写出完成如下查询

一道在Oracle中建表的sql题 我是初学者 谢谢

MySQL数据库怎么创建?