У меня есть следующий db с таблицами, и я пытаюсь их запросить: Извлеките имена, адреса и количество книг, выписанных для всех заемщиков, у которых осталось более пяти книг. Я создал запросБаза данных Oracle, где статья
select name, Address
from BORROWER
where BOOK_LOANS.BookId >= 5;
Кажется, я нужен присоединиться к таблицам, я застрял здесь, Могу ли я, пожалуйста, получить помощь?
CREATE TABLE BOOK (
BookId CHAR(20) NOT NULL,
Title VARCHAR(30) NOT NULL,
PublisherName VARCHAR(20),
PRIMARY KEY (BookId),
FOREIGN KEY (PublisherName) REFERENCES PUBLISHER (PublisherName)
);
CREATE TABLE BOOK_AUTHORS (
BookId CHAR(20) NOT NULL,
AuthorName VARCHAR(30) NOT NULL,
PRIMARY KEY (BookId, AuthorName),
FOREIGN KEY (BookId) REFERENCES BOOK (BookId)
ON DELETE CASCADE
);
// PublisherName was added, as it was referenced by another
// table but did not exist as an attribute.
CREATE TABLE PUBLISHER (
PublisherName VARCHAR(20) NOT NULL,
Address VARCHAR(40) NOT NULL,
Phone CHAR(12),
PRIMARY KEY (PublisherName)
);
CREATE TABLE BOOK_COPIES (
BookId CHAR(20) NOT NULL,
BranchId INTEGER NOT NULL,
No_Of_Copies INTEGER NOT NULL,
PRIMARY KEY (BookId, BranchId),
FOREIGN KEY (BookId) REFERENCES BOOK (BookId)
ON DELETE CASCADE,
FOREIGN KEY (BranchId) REFERENCES BRANCH (BranchId)
ON DELETE CASCADE
);
CREATE TABLE BORROWER (
CardNo INTEGER NOT NULL,
Name VARCHAR(30) NOT NULL,
Address VARCHAR(40) NOT NULL,
Phone CHAR(12),
PRIMARY KEY (CardNo)
);
CREATE TABLE BOOK_LOANS (
CardNo INTEGER NOT NULL,
BookId CHAR(20) NOT NULL,
BranchId INTEGER NOT NULL,
DateOut DATE NOT NULL,
DueDate DATE NOT NULL,
PRIMARY KEY (CardNo, BookId, BranchId),
FOREIGN KEY (CardNo) REFERENCES BORROWER (CardNo)
ON DELETE CASCADE,
FOREIGN KEY (BranchId) REFERENCES BRANCH (BranchId)
ON DELETE CASCADE,
FOREIGN KEY (BookId) REFERENCES BOOK (BookId)
ON DELETE SET NULL
);
CREATE TABLE BRANCH (
BranchId INTEGER NOT NULL,
BranchName VARCHAR(20) NOT NULL,
Address VARCHAR(40) NOT NULL,
PRIMARY KEY (BranchId)
);
Да, вам необходимо присоединиться. К счастью, они довольно хорошо документированы. Что вы пробовали? – GolezTrol
Вы отмечаете MySQL, но говорите Oracle. Что вы имеете в виду? – jarlh
MySQL также является Oracle. ;-) Тем не менее, это ваш третий вопрос, когда требуется серьезная повторная пометка, и не было предпринято никаких усилий, чтобы попытаться решить проблему самостоятельно. Поэтому я отклонил ваш вопрос. Сначала попробуйте самостоятельно решить проблему. Если у вас есть реальная попытка, мы здесь, чтобы помочь. Кроме того, приложите усилия и к своим вопросам. Это * ваша * проблема, которая нуждается в решении. – GolezTrol