“SQL中的各种连接 演示数据”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) (建立内容为“1”的新页面) |
Jihongchang(讨论 | 贡献) |
||
(未显示同一用户的1个中间版本) | |||
第1行: | 第1行: | ||
− | 1 | + | === 学生表和学生数据 === |
+ | <syntaxhighlight lang="sql"> | ||
+ | CREATE TABLE `student` ( | ||
+ | `sid` int(11) NOT NULL AUTO_INCREMENT, | ||
+ | `snum` int(11) NOT NULL, | ||
+ | `sname` varchar(20) NOT NULL, | ||
+ | `sage` tinyint(4) DEFAULT NULL, | ||
+ | `sclass` smallint(6) NOT NULL, | ||
+ | PRIMARY KEY (`snum`), | ||
+ | UNIQUE KEY `student_num` (`sid`) | ||
+ | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | ||
+ | |||
+ | INSERT INTO `sql`.`student` | ||
+ | (`snum`, | ||
+ | `sname`, | ||
+ | `sage`, | ||
+ | `sclass`) | ||
+ | VALUES | ||
+ | (20201101,'张三',20,150), | ||
+ | (20201102,'李四',18,151), | ||
+ | (20201103,'王五',19,151), | ||
+ | (20201104,'赵六',18,150), | ||
+ | (20201105,'钱七',21,151), | ||
+ | (20201106,'孙八',20,152); | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | |||
+ | === 课程表和课程数据 === | ||
+ | <syntaxhighlight lang="sql"> | ||
+ | create table course( | ||
+ | cid int not null auto_increment, | ||
+ | cnum int not null primary key, | ||
+ | cname varchar(20) not null, | ||
+ | unique key course_num (cid) | ||
+ | ) engine = innodb auto_increment = 1 default charset = utf8; | ||
+ | |||
+ | INSERT INTO `sql`.`course` | ||
+ | (`cnum`, | ||
+ | `cname`) | ||
+ | VALUES | ||
+ | (101, '数据结构'), | ||
+ | (102, '编译原理'), | ||
+ | (103, '计算机网络'), | ||
+ | (105, '计算机组成原理'), | ||
+ | (106, '数据库'); | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === 学生课程关系表 === | ||
+ | <syntaxhighlight lang="sql"> | ||
+ | CREATE TABLE `sc` ( | ||
+ | `scid` int(11) NOT NULL AUTO_INCREMENT, | ||
+ | `snum` int(11) NOT NULL, | ||
+ | `cnum` int(11) NOT NULL, | ||
+ | `grade` smallint(6) DEFAULT NULL, | ||
+ | PRIMARY KEY (`snum`,`cnum`), | ||
+ | UNIQUE KEY `scid` (`scid`) | ||
+ | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | ||
+ | |||
+ | INSERT INTO `sql`.`sc` | ||
+ | (`snum`, | ||
+ | `cnum`, | ||
+ | `grade`) | ||
+ | VALUES | ||
+ | (20201101, 101, 85), | ||
+ | (20201102, 101, 55), | ||
+ | (20201103, 101, 90), | ||
+ | (20201101, 102, 88), | ||
+ | (20201102, 102, 75), | ||
+ | (20201103, 102, 58), | ||
+ | (20201101, 103, 72), | ||
+ | (20201102, 103, 80), | ||
+ | (20201103, 103, 92); | ||
+ | </syntaxhighlight> |
2022年11月3日 (四) 14:12的最新版本
学生表和学生数据
CREATE TABLE `student` (
`sid` int(11) NOT NULL AUTO_INCREMENT,
`snum` int(11) NOT NULL,
`sname` varchar(20) NOT NULL,
`sage` tinyint(4) DEFAULT NULL,
`sclass` smallint(6) NOT NULL,
PRIMARY KEY (`snum`),
UNIQUE KEY `student_num` (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `sql`.`student`
(`snum`,
`sname`,
`sage`,
`sclass`)
VALUES
(20201101,'张三',20,150),
(20201102,'李四',18,151),
(20201103,'王五',19,151),
(20201104,'赵六',18,150),
(20201105,'钱七',21,151),
(20201106,'孙八',20,152);
课程表和课程数据
create table course(
cid int not null auto_increment,
cnum int not null primary key,
cname varchar(20) not null,
unique key course_num (cid)
) engine = innodb auto_increment = 1 default charset = utf8;
INSERT INTO `sql`.`course`
(`cnum`,
`cname`)
VALUES
(101, '数据结构'),
(102, '编译原理'),
(103, '计算机网络'),
(105, '计算机组成原理'),
(106, '数据库');
学生课程关系表
CREATE TABLE `sc` (
`scid` int(11) NOT NULL AUTO_INCREMENT,
`snum` int(11) NOT NULL,
`cnum` int(11) NOT NULL,
`grade` smallint(6) DEFAULT NULL,
PRIMARY KEY (`snum`,`cnum`),
UNIQUE KEY `scid` (`scid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `sql`.`sc`
(`snum`,
`cnum`,
`grade`)
VALUES
(20201101, 101, 85),
(20201102, 101, 55),
(20201103, 101, 90),
(20201101, 102, 88),
(20201102, 102, 75),
(20201103, 102, 58),
(20201101, 103, 72),
(20201102, 103, 80),
(20201103, 103, 92);