71人参与 • 2025-08-11 • MsSqlserver
drop table if exists `class`;
create table `class`
(
`c_id` int default null comment '班级id',
`c_name` varchar(50) default null comment '班级名'
);
drop table if exists `student`;
create table `student`
(
`s_id` int default null comment '学生id',
`s_name` varchar(50) default null comment '学生名',
`c_id` int default null comment '班级id'
);
insert into `class` (`c_id`, `c_name`)
values (1, '一班'),
(2, '二班'),
(3, '三班');
insert into `student` (`s_id`, `s_name`, `c_id`)
values (1, '张三', 1),
(2, '李四', 2),
(3, '王五', 4);-- 单表 select * from class c; select * from student s; -- 笛卡尔积 select * from class c inner join student s order by c.c_id, s.s_id; -- 内连 select * from class c inner join student s on c.c_id = s.c_id order by c.c_id, s.s_id; -- 左外连(先on,再join,再where) select * from class c left join student s on c.c_id = s.c_id order by c.c_id, s.s_id; select * from class c left join student s on c.c_id = s.c_id and c.c_id <> 2 order by c.c_id, s.s_id; select * from class c left join student s on c.c_id = s.c_id where c.c_id <> 2 order by c.c_id, s.s_id; select * from class c left join student s on c.c_id = s.c_id and s.c_id <> 2 order by c.c_id, s.s_id; select * from class c left join student s on c.c_id = s.c_id where s.c_id <> 2 order by c.c_id, s.s_id;









您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论