create table Person(
SSN INT,
Name VARCHAR(20),
primary key(SSN)
);
create table Car(
PlateNr INT,
Model VARCHAR(20),
primary key(PlateNr)
);
create table CarOwner(
SSN INT,
PlateNr INT,
primary key(SSN, PlateNR)
foreign key(SSN) references Person (SSN),
foreign key(PlateNr) references Car (PlateNr)
);
Insert into Person(SSN, Name) VALUES ('123456789','Max');
Insert into Person(SSN, Name) VALUES ('123456787','John');
Insert into Person(SSN, Name) VALUES ('123456788','Tom');
Insert into Car(PlateNr, Model) VALUES ('123ABC','Volvo');
Insert into Car(PlateNr, Model) VALUES ('321CBA','Toyota');
Insert into Car(PlateNr, Model) VALUES ('333AAA','Honda');
Insert into CarOwner(SSN, PlateNr) VALUES ('123456789','123ABC');
Insert into CarOwner(SSN, PlateNr) VALUES ('123456787','333AAA');
我遇到的問題是SELECTE查詢我想打。我wan't能夠從人選擇一切,wan't的包括PlateNr車的他的老闆,一個例子:SQL簡單的SELECT查詢
PERSON
---------------------------------
SSN NAME Car
123456789 Max 123ABC
123456787 John 3338AAA
123456788 Tom
----------------------------------
所以,我想成爲能夠顯示Person表中的所有內容,並顯示CarOwner的內容以及該人員實際上是CarOwner的內容。到目前爲止,我所擁有的是:「來自Person的SELECT *,CarOwner WHERE Person.SSN = CarOwner.SSN;」。但這顯然導致只顯示CarOwners的人。
希望我解釋得很好,謝謝。
這正是我正在尋找的,謝謝!我很喜歡它,如果你有時間,可以簡單地向我解釋它,就像我5這個查詢是在做什麼一樣。不幸的是,JOIN的工作並沒有那麼多。 –
請您可以學習每個SQL手冊,以更好地理解INNER和LEFT/RIGHT OUTER JOIN的用法。看到這裏http://www.w3schools.com/sql/有一個愉快的一天;) –
好吧,是的,w3schools有一個很好的解釋。再次感謝! –