使用内部联接 - SQL显示两个表的所有属性

时间:2014-04-08 21:24:00

标签: mysql sql

这是一个非常基本的SQL问题。我有三个表,如下所示。

CREATE TABLE customers
(
CID                 int auto_increment,
Name                varchar (100),
Address             varchar (100),
Phone               char (10),
BooksOutstanding    int,
AcctBalance         numeric (8,2),
CONSTRAINT customers_pk PRIMARY KEY (CID)
);


CREATE TABLE books
(
ISBN        char(10),
Title       varchar (100),
Author      varchar (100),
Publisher   varchar (100),
Category    varchar (100),
LoanPeriod  int,
OverdueRate numeric (8,2),
CONSTRAINT books_pk PRIMARY KEY (ISBN)
);

CREATE TABLE borrows
(
CID     int,
ISBN    char (10),
CONSTRAINT borrows_PK PRIMARY KEY (CID, ISBN),
CONSTRAINT borrows_FK1 FOREIGN KEY (CID) references customers (CID),
CONSTRAINT borrows_FK2 FOREIGN KEY (ISBN) references books(ISBN)
);

我需要为客户进行内部联接并借用表并显示所有属性。我对这个问题的“显示所有属性”部分感到非常困惑。 这是我使用的代码:

SELECT customers.CID
FROM customers
INNER JOIN borrows
ON customers.CID=borrows.CID;

我需要更改为“显示所有属性?”

提前致谢。感谢。

1 个答案:

答案 0 :(得分:0)

您对此问题的解释非常清楚,但我认为您正在寻找:

SELECT
   C.*, BK.*
FROM customers C
  JOIN borrows B
    ON C.CID = B.CID
  JOIN books BK
    ON B.ISBN = BK.ISBN

如果您想查看没有相关图书的LEFT JOIN,您可以使用customers