SQL进阶:多表查询

在SQL基础部分,我们在讲解的过程中只用到了单表查询。但实际上,常见的业务场景单表查询不能满足,或者拆分查询性能过慢。这个时候我们就需要用到连接查询。即查询多表按一定规则合并后的数据

注意,合并后的数据也是,也有的概念,只不过一般存储在内存中。

由于集合操作和连接对比学习更便于记忆,所以这里我们也说一下集合操作

辅助表创建

为了更贴合具体业务场景,前面我们已经建立了人员表和课程表,这里我们建立一张选课表。

CREATE TABLE `course_selections` (
  `selection_id` INT NOT NULL,
  `student_id` INT NOT NULL,
  `course_id` INT NOT NULL,
  PRIMARY KEY (`selection_id`),
  FOREIGN KEY (`course_id`) REFERENCES `courses` (`course_id`)
);

插入部分数据

-- 示例:学生1选择了课程1,学生2选择了课程3
INSERT INTO `course_selections` (`selection_id`, `student_id`, `course_id`) VALUES
(1, 1, 1),
(2, 2, 3);

连接的类型

你可能感兴趣的:(SQL使用从入门到优化,sql,数据库)