Za dużo wyników przy zapytaniu

0

Witam,
Tworzę bazę danych klubu piłkarskiego i już na początku pojawił się problem.
Otóż chcę wypisać osoby które pracują na stanowisku 'Fizjoterapeuta'. Jednak przy poniższym zapytaniu wynikiem są wszystkie osoby wprowadzone do bazy, lekarze itd. Dlaczego tak się dzieje ?

 
select imie from personel,stanowiska where nazwa like 'Fizjoterapeuta';

Kod Bazy:

 
create table Stanowiska
(
IdStanowiska INT NOT NULL,
PRIMARY KEY(IdStanowiska),
Nazwa VARCHAR2(25)
);

create table Personel
(
IdPersonelu INT NOT NULL,
IdStanowiska INT NOT NULL,
PRIMARY KEY(IdPersonelu),
FOREIGN KEY(IdStanowiska) REFERENCES Stanowiska(IdStanowiska),
Imie varchar(25),
Nazwisko varchar(25),
Pesel number(11),
Telefon number(9),
Miasto varchar (20),
ZarobkiMiesięczne number(8)
);


insert into stanowiska values (1,'Fizjoterapeuta');
insert into stanowiska values (2,'Lekarz');
insert into stanowiska values (3,'Kierownik');


insert into personel values (1,1,'Andrzej','Smuda',74051114895,788000546,'Łomża',900);
insert into personel values (2,1,'Bartek','Łepkowski',85047952145,460564219,'Warszawa',1900);
insert into personel values (3,2,'Łukasz','Cwalina',94120149856,660777087,'Kolno',2500);

2

Najsampierw chłopie to sobie sprawdź, co Ci zwróci samo SELECT imie FROM personel, stanowiska i przekonaj się, dlaczego potrzebujesz LEFT JOINa :P

2

Takie zapytanie zwraca to samo co CROSS JOIN, czyli iloczyn kartezjański zbiorów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1