繁体   English   中英

如何从 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 列。

我还在每个表的标识列中创建了 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM