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 クエリです。私は Person からすべてを選択したくなく、彼が所有している車の PlateNr を含めたくありません。例:
人
---------------------------------
SSN NAME Car
123456789 Max 123ABC
123456787 John 3338AAA
123456788 Tom
----------------------------------
そのため、Person テーブルのすべてを表示し、その人物が実際に CarOwner である場合は CarOwner のコンテンツも表示できるようにしたいと考えています。これまでのところ、「SELECT * from Person, CarOwner WHERE Person.SSN = CarOwner.SSN;」です。しかし、これは明らかに、CarOwners である人物のみを表示することになります。
十分に説明していただければ幸いです、ありがとう。