如何从 SQL 中的数据库连接两个表?

How do I join two tables from a database in SQL?

我目前正在做一个项目,我们必须在 SQL 中连接两个表,然后创建一个页面来显示两个表的合并结果。

这是我目前拥有的:

SELECT *
FROM
    ANIMAL
    LEFT OUTER JOIN
    FOOD_PORTION
ON
    ANIMAL = FOOD_PORTION

然后是第二页,结果应该是:

CREATE TABLE ANIMAL(
    AnimalID        CHAR(5)         PRIMARY KEY,
    AnimalName      CHAR(50)        NOT NULL,
    Species         CHAR(50)        NOT NULL,
    Weight          INT             NOT NULL,
    DOB             DATE            NOT NULL,
    ExhibitID       CHAR(5)         REFERENCES EXHIBIT(ExhibitID)
);


CREATE TABLE FOOD_PORTION(
    PortionSize     INT             NOT NULL,
    AnimalID        CHAR(5)         REFERENCES ANIMAL(AnimalID)
);

SELECT C.Name
FROM   ANIMAL AS C
UNION
SELECT S.Name
FROM   FOOD_PORTION AS S

这应该能满足您的需求。使用 tadman 的建议将 char 列更改为 INT。同时将 CHAR 列更改为 VARCHAR 列。

我还在每个 table 标识列中制作了 ID(因此它们会自动填充)。

CREATE TABLE ANIMAL(
    AnimalID        INT PRIMARY KEY IDENTITY,
    AnimalName      VARCHAR(50)        NOT NULL,
    Species         VARCHAR(50)        NOT NULL,
    Weight          INT             NOT NULL,
    DOB             DATE            NOT NULL,
    ExhibitID       CHAR(5)         REFERENCES EXHIBIT(ExhibitID)
);


CREATE TABLE FOOD_PORTION(
    PortionSize     INT IDENTITY,
    AnimalID        INT         REFERENCES ANIMAL(AnimalID)
);

SELECT A.*, FP.*
FROM Animal A 
INNER JOIN Food_Portion FP ON A.AnimalID = FP.AnimalID