SQL JOIN

SQL JOIN

连接是一个非常强大的工具。还记得数据库介绍模块中的关系代数吗?

连接应用于关系代数。

假设你有两张表,人和车:

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL PRIMARY KEY
);

CREATE TABLE cars (
  brand CHAR(20) NOT NULL,
  model CHAR(20) NOT NULL,
  owner CHAR(20) NOT NULL PRIMARY KEY
);

我们添加一些数据:

INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (8, 'Roger');
INSERT INTO cars VALUES ('Ford', 'Fiesta', 'Flavio');
INSERT INTO cars VALUES ('Ford', 'Mustang', 'Roger');

现在假设我们想要把这两个表联系起来,因为警察阻止了罗杰开车,看起来很年轻,想要从他们的数据库中知道他的年龄。

罗杰是我的狗,但让我们假设狗会开车。

我们可以使用以下语法创建连接:

SELECT age FROM people JOIN cars ON people.name = cars.owner WHERE cars.model='Mustang';

我们会得到这个结果:

 age 
-----
   8

发生了什么?我们将两个表cars连接到两个特定列上:people表中的name和cars表中的owner。

连接是一个可以增加复杂性的主题,因为有许多不同类型的连接,您可以使用它们对多个表执行更高级的操作,但这里是最基本的示例。

(0)
上一篇 2020年11月2日 下午10:38
下一篇 2020年11月3日 下午8:29

相关推荐

发表回复

登录后才能评论