create database StudCourse; use StudCourse; #Student(Sid,Sname,Sage,Ssex) 学生表 CREATE TABLE student ( sid varchar(10) NOT NULL, sName varchar(20) DEFAULT NULL, sAge datetime DEFAULT '1980-10-12 23:12:36', sSex varchar(10) DEFAULT NULL, PRIMARY KEY (sid) ) ENGINE=InnoDB DEFAULT CHA-RSET=utf8; #Course(Cid,Cname,Tid) 课程表 CREATE TABLE course ( cid varchar(10) NOT NULL, cName varchar(10) DEFAULT NULL, tid int(20) DEFAULT NULL, PRIMARY KEY (cid) ) ENGINE=InnoDB DEFAULT CHA-RSET=utf8; #SC(Sid,Cid,score) 成绩表 CREATE TABLE sc ( sid varchar(10) DEFAULT NULL, cid varchar(10) DEFAULT NULL, score int(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHA-RSET=utf8; #Teacher(Tid,Tname) 教师表 CREATE TABLE teacher ( tid int(10) DEFAULT NULL, tName varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHA-RSET=utf8; #数据:( MySQL ) insert into teacher(tid,tName) values (1,' 李老师'),(2,' 何以琛'),(3,' 叶平'); insert into student(sid,sName,sAge,sSex) values ('1001',' 张三丰 ','1980-10-12 23:12:36',' 男'),('1002',' 张无极 ','1995-10-12 23:12:36',' 男'),('1003',' 李奎','1992-10-12 23:12:36',' 女'),('1004',' 李元宝 ','1980-10-12 23:12:36',' 女'),('1005',' 李世明','1981-10-12 23:12:36',' 男'),('1006',' 赵六','1986-10-12 23:12:36',' 男'),('1007',' 田七','1981-10-12 23:12:36',' 女'), ('1008',' 张三丰 ','1982-08-12 23:12:36',' 男'); insert into sc(sid,cid,score) values ('1','001',80),('1001','002',60),('1001','003',75),('1002','001',85),('1002','002',70),('1003','004',100), ('1003','001',90),('1003','002',55),('1004','002',65),('1004','003',60); insert into course(cid,cName,tid) values ('001',' 企业管理 ',3),('002',' 马克思 ',3),('003','UML',2),('004',' 数据库 ',1),('005','英语',1);
时间: 2023-08-20 16:29:28 浏览: 49
好的,根据您提供的数据库表结构和数据,以下是查询选修课程名称为“数据库”的学生姓名和分数的 SQL 语句:
```
SELECT s.sName, sc.score
FROM student s
JOIN sc ON s.sid = sc.sid
JOIN course c ON c.cid = sc.cid
WHERE c.cName = '数据库';
```
执行该 SQL 语句后,将会返回选修了“数据库”课程的学生姓名和分数。
相关问题
建mysql学生表 Student(SId,Sname,Ssex,Dno) 查询同时选修" 01“课程和” 02 "课程的情况
可以按照以下语句建立学生表:
```
CREATE TABLE Student (
SId INT PRIMARY KEY,
Sname VARCHAR(255),
Ssex VARCHAR(10),
Dno VARCHAR(20)
);
```
假设课程表为 Course,可以按照以下语句查询同时选修“01”课程和“02”课程的情况:
```
SELECT S.SId, S.Sname
FROM Student S
INNER JOIN SC SC1 ON S.SId = SC1.SId AND SC1.CId = '01'
INNER JOIN SC SC2 ON S.SId = SC2.SId AND SC2.CId = '02';
```
其中 SC 表是学生选课表,包含 SId 和 CId 两列。INNER JOIN 表示内连接,即只返回同时满足两个条件的记录。
用sql语句创建学生表:student(学号sno,学生姓名sname,出生年月sbirth,性别ssex)
你可以使用以下 SQL 语句创建一个名为 student 的学生表:
```sql
CREATE TABLE student (
sno INT PRIMARY KEY,
sname VARCHAR(255),
sbirth DATE,
ssex VARCHAR(10)
);
```
这个表包含了四个列:
- sno:学号,使用 INT 类型作为主键。
- sname:学生姓名,使用 VARCHAR(255) 类型存储学生姓名,长度为最大255个字符。
- sbirth:出生年月,使用 DATE 类型存储出生年月。
- ssex:性别,使用 VARCHAR(10) 类型存储性别信息,长度为最大10个字符。
在创建表后,你可以根据需要插入、更新或查询学生信息。记得根据实际需求进行数据类型的选择和合理的约束设置。