• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SQL: Zamiana NATURAL JOIN na SELECT IN

Object Storage Arubacloud
0 głosów
236 wizyt
pytanie zadane 27 kwietnia 2016 w SQL, bazy danych przez Kamil Wielgosz Nowicjusz (200 p.)
edycja 27 kwietnia 2016 przez Kamil Wielgosz

Witam, zastanawiam się jak zamienić taką instrukcje (działającą oczywiście) z NATURAL JOIN

SELECT customer.Name, COUNT(customer_account.AccNo) FROM customer NATURAL JOIN customer_account GROUP BY RefNo

Na instrukcje z SELECT IN, napisałem coś takiego ale jakoś nie chce mi to działać ;D

SELECT customer.Name, COUNT(lk) FROM customer WHERE RefNo IN (SELECT RefNo, COUNT(customer_account.AccNo) as lk FROM customer_account GROUP BY RefNo) as jakasnazwa

Dodam, że kolumna RefNo jest taka sama w tabeli customer i customer_account czyli łączy obie tabele

1 odpowiedź

0 głosów
odpowiedź 27 kwietnia 2016 przez jeremus Maniak (59,720 p.)
a co chcesz uzyskać ? Jak dla mnie to zarówno pierwsza wersja z natural join jak i tak cudaczna zwraca wyniki , które nie wiem jak interpretować- sensu w nich niewiele
komentarz 27 kwietnia 2016 przez Kamil Wielgosz Nowicjusz (200 p.)
Pierwsza wersja z NATURAL JOIN zwraca nazwe klienta i liczbe jego kont
Druga wersja z SELECT IN ma robić dokładnie to samo tylko problem w tym, że nie wiem jak to napisać
komentarz 27 kwietnia 2016 przez jeremus Maniak (59,720 p.)
a po co select in ?

Złączenie jest szybsze i prostsze  . co najwyżej możesz użyć "normalnego  jawnego złączenia " - zamiast natural

 customer inner join customer_account on customer.id_cust=customer_account.id_cust

gdzie id_cust - sobie wymyśliłem :) - bo nie wiem jaką nazwe ma pole złączenia

albo po prostu customer,customer_account where customer.id_cust=customer_account.id_cust

 reszta bez zmiany
komentarz 27 kwietnia 2016 przez Kamil Wielgosz Nowicjusz (200 p.)
Normalne złączenie jest proste fakt

SELECT IN tak sobie wymyśliłem bo myślałem, że może mi się do innych przykładów przydać, ale skoro mówisz że wszytko można zastąpić NATURAL JOIN to nie będę dłużej drążył tematu ;D

Podobne pytania

0 głosów
0 odpowiedzi 261 wizyt
0 głosów
1 odpowiedź 228 wizyt
pytanie zadane 5 maja 2021 w SQL, bazy danych przez Ciasteczko:) Początkujący (490 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...