SQL ORACLE zadanie łączenie tabel

0

Witam, mam problem z połączeniem tych dwóch tabel :

create table klub

(id_klubu numeric(10) primary key,

nazwa nvarchar2(20),

miasto nvarchar2(30),

kraj nvarchar2(20));

create table pilkarz

(imie nvarchar2(30),

nazwisko nvarchar2(30),

kraj nvarchar2(20),

data_urodzenia date,

klub numeric(10) references klub(id_klubu));

To co udało mi się zrobić
czy takie połączenie jest odpowiednie
klub.id_klubu=pilkarz.id_klubu

Select imie, nazwisko, kraj, nazwa from klub, pilkarz
where kraj is like 'niemcy' and kraj is like 'anglia'

Tu mam problem jak zrobić aby połączyć te tabele i zrobić takie polecenie:

1.Napisać polecenie wybierające imię, nazwisko, kraj pochodzenia piłkarza i nazwę klubu dla piłkarzy polskich i niemieckich grających w klubach z Niemiec oraz Anglii.

Jeżeli ktoś mógłby pomóc lub nakierować będę wdzięczny

0

(pseudo(psecudo)kod)
Wystarczy, że wykorzystasz SELECT'a z INNER JOIN'em i dasz warunek WHERE kraj = Niemcy AND Anglia.. Nie będę Ci podawał konkretnego rozwiązania bo wystarczy, że wyszukasz sobie co to są złączenia (JOIN) w bazie danych..
ps. Użyj formatowania [code] bo m.in. dlatego nie zrobiłem tego dla twoich danych..

0

Musisz połączyć tabelę klub i pilkarz:
FROM pilkarz p JOIN klub k ON k.id=p.klub_id
Wybrać spośród klubów te, które s w lidze niemieckiej LUB angielskiej
WHERE k.kraj IN ('Niemcy', 'Anglia')
i wybrać piłkarz polskich
AND p.kraj='Polska'

0

Ok, dzięki .
Mam jeszcze problem z jednym poleceniem.

  1. Policzyć ilu piłkarzy gra w klubach z innego kraju niż kraj ich pochodzenia.

Nie wiem jak to ma wyglądać póki co zrobiłem coś takiego:

select k.kraj, count(p.nazwisko) as ilosc from pilkarz p, klub k where p.klub=k.id_klubu and p.kraj like 'Polska'
group by k.kraj

to polecenie zlicza tylko ilu polskich piłkarzy gra w poszczególnych krajach.

2
 SELECT count(*) 
 FROM pilkarz p JOIN klub k ON p.klub=k.id_klubu 
 WHERE p.kraj <>k.kraj

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