Łączenie tabel SQL - warunek w ON czy WHERE?

  Рет қаралды 2,024

nieinformatyk

nieinformatyk

Күн бұрын

✅Łączenie tabel w SQL przy pomocy instrukcji JOIN potrafi sprawiać problemy. Szczególnie problematyczne są zapytania wykorzystujące starą metodę łączenia tabel w bazie danych, czyli składnię standardu SQL ANSI-89(warunek w WHERE). W tym nagraniu pokażę Ci jak przepisać zapytanie ze starego standardu ANSI-89 na nowszy ANSI-92(warunek w ON).
🎁 ODBIERZ PREZENTY
1) Roadmapa SQL w PDF: promo.mistrzsql.pl/
2) Książka o tym, jak się przebranżowić na bazodanowca: promo.podstawybazdanych.pl/
3) Lista najczęstszych błędach programistów PL/SQL: promo.plsql.pl/
== ⏱️ Plan odcinka:==
00:00 wprowadzenie do odcinka
02:38 wykonanie skryptu SQL
03:02 INNER JOIN ANSI-89 vs ANSI-92
04:17 LEFT JOIN ANSI-89 vs ANSI-92
05:37 RIGHT JOIN ANSI-89 vs ANSI-92
06:00 FULL JOIN ANSI-89 vs ANSI-92
07:07 łączenie tabeli po kilku warunkach
09:08 wady łączenia tabel w ANSI-89
11:14 SQL JOIN ANSI-89 w Postgres i Sql Server
12:27 podsumowanie
== 🔗 Przydatne linki z nagrania:==
📥kod z lekcji do pobrania: drive.google.com/file/d/1X6F6...
🏷️łączenie tabel w SQL: • Łączenie tabel SQL, cz...
🏷️ograniczenia JOIN ANSI-89 Oracle: docs.oracle.com/en/database/o...
🏷️zdeprecjonowane funkcjonalności Sql Server 2008: learn.microsoft.com/en-us/pre...
== 👌 Polecam obejrzeć:==
Jak zostać ekspertem SQL: • Roadmapa SQL, czyli ja...
Czym są poziomy izolacji w SQL? • Poziomy izolacji sql -...
#bazodanowiec
== 👨‍💻 Poznaj mniej lepiej:==
- Moja strona: www.nieinformatyk.pl/
- Facebook: / nieinformatyk
- Linkedin: / darekbutkiewicz
- Instagram: / nieinformatyk
- Twitter: / nieinformatyk
Zasubskrybuj mój kanał: kzfaq.info...
🏁 Witaj na moim kanale :)
Jestem programistą baz danych Oracle oraz developerem hurtownii danych (ETL). W tym miejscu dzielę się z oglądającymi wiedzą dotyczącą relacyjnych baz danych, praktycznych technik pisania SQL oraz optymalizacji kodu PL/SQL. Jeśli chcesz zdobyć praktyczną i rzetelną więdzę o bazach danych to trafiłeś na właściwe miejsce.
🚨 Więcej informacji o bazach danych znajdziesz na [www.nieinformatyk.pl](www.nieinformatyk.pl/)
📧 Masz pytanie, prośbę, sugestię? Pisz śmiało na [kontakt@nieinformatyk.pl](mailto:kontakt@nieinformatyk.pl)

Пікірлер: 29
@RobieMVPAplikacjeKarolBocian
@RobieMVPAplikacjeKarolBocian 7 ай бұрын
Super, dziękuję!!! 😀 😀 😀 😀
@pasiekabilar5888
@pasiekabilar5888 7 ай бұрын
Szkoda że tak późno ten odcinek wskoczył. Pracuję w wms który ma bazę na Oracle. Uczyłem się Join żeby stworzyć sobie potrzebne widoki ale jak napotkałem problemy to zacząłem sprawdzać istniejące i większość jest stworzona za pomocą where. Swoje zapytania zmodyfikowałem żeby ujednolicić je z pozostałymi
@kokolpi4325
@kokolpi4325 7 ай бұрын
Wms... Jak ja tego nienawidzę hahah
@nieinformatyk
@nieinformatyk 7 ай бұрын
Oglądałem kiedyś film "Lepiej późno niż później". Tu chciałoby się powiedzieć to samo :)
@pasiekabilar5888
@pasiekabilar5888 7 ай бұрын
@@kokolpi4325 czemu nienawidzisz?
@edytakowal3396
@edytakowal3396 6 ай бұрын
Darku, a co z używaniem USING zamiast ON. Unikać?
@nieinformatyk
@nieinformatyk 6 ай бұрын
Nie polecam, bo ograniczasz się tylko do równozłączeń i masz dostępne kolumny wyłącznie o tych samych nazwach. Z dwojga złego USING i tak jest lepsze od NATURAL JOIN :)
@u3aR6sAw9M4q
@u3aR6sAw9M4q 7 ай бұрын
W ofertach pracy na analityka bądź SQL developera często jestw wymaganiach podane "znajomość SQL" tylko pytanie co to znaczy znajomość SQL? Co konkretnie muszę umieć z tego SQL żeby nadawać się do pracy? Mógłbyś na bazie własnej wiedzy i doświadczeń odpowiedzieć na to pytanie? Jakie konkretnie zapytania trzeba mieć opanowane żeby móc o sobie mówić że "umiem SQL" na tyle dobrze żeby dostać pracę n ww stanowiskach? I czy trzeba znać też PL/SQL lub T-SQL?
@nieinformatyk
@nieinformatyk 7 ай бұрын
Nie da się jednoznacznie kompleksowo odpowiedzieć na to pytanie, bo każdy projekt, branża, stanowisko nawet jeśli tak samo się nazywa ma inne wymagania, bo będziesz tam pracować z innymi rozwiązaniami. Jeden projekt może być obładowany triggerami i schedulerami a drugi CTE i tabelami partycjonowanymi. Obejrzyj te nagranie, gdzie zebrałem w jedno miejsce wymagania na poziomie podstawowym, średniozaawansowanym i zaawansowanym SQL-a: kzfaq.info/get/bejne/asViaJegu8e9hZc.html
@u3aR6sAw9M4q
@u3aR6sAw9M4q 7 ай бұрын
@@nieinformatyk rozumiem, dzięki ;)
@u3aR6sAw9M4q
@u3aR6sAw9M4q 7 ай бұрын
@@nieinformatyk możesz ewentualnie powiedzieć czy idąc do pierwszej pracy znajomość w zakresie podstawowym (według twojej grafiki) jest wystarczająca? Wiem że zależy gdzie konkretnie się idzie, ale tak bazując na własnym doświadczeniu to na jakim byłeś poziomie idąc do pierwszej pracy?
@nieinformatyk
@nieinformatyk 7 ай бұрын
@@u3aR6sAw9M4q myślę, że zdecydowanie wystarczy - z docierających do mnie opini słyszę, że większość rozmów na stanowiska juniorskie to pytania jak się grupuje dane(GROUP BY), czym się różni WHERE od HAVING albo jak napisać zapytanie wykorzystujące jednocześnie WHERE, GROUP BY i ORDER BY. Jak znasz podzapytania i funkcje analityczne to jesteś lepszy niż oczekują :)
@u3aR6sAw9M4q
@u3aR6sAw9M4q 7 ай бұрын
@@nieinformatyk dzięki, cenne info ;)
@Joasiek17
@Joasiek17 7 ай бұрын
Aaaa dla mnie Ansi-89 jest dla mnie czytelniejsza :D
@nieinformatyk
@nieinformatyk 7 ай бұрын
Nie wierze :)
@DonaldFranciszekTusk
@DonaldFranciszekTusk 7 ай бұрын
Jak zostać bazodanowcem? Czy wystarczy umieć dobrze SQL?
@nieinformatyk
@nieinformatyk 7 ай бұрын
Sam SQL może Ci wystarczyć do pracy jako analityk danych czy sql developer, ale bazodanowiec potrzebuje jeszcze wiedzy o bazodanowym języku programowania w zależności od systemu z którym pracujesz(Oracle - PL/SQL, Sql Server - T-SQL, Postgres - PL/pgSQL, Mysql - stored procedured and functions): kzfaq.info/get/bejne/fNSXrceHrZfWemQ.html Obejrzyj od 10:15: kzfaq.info/get/bejne/oLqoaJmprKmoY4k.html
@nieinformatyk
@nieinformatyk 7 ай бұрын
@@SmiercDlaGoogle Dlaczego książki są "dobre" a kurs jest "jakiś"? Po to robię produkty online, by chętni do nauki mogli wygodnie i bardzo efektywnie zdobyć wiedzę, której mnie zdobycie kosztowało znacznie więcej pieniędzy, czasu i wysiłku. Sam korzystam z kursów online i uważam je za świetną metodę nauki(podobnie jak książki czy dokumentację). Rozumiem, że pod szkołami nauki języków obcych rozdajesz słowniki,bo przecież jest tam wszystko? :) Wydaje mi się, że nie rozumiesz jaka jest idee kursów online, bo albo z nich nie korzystałeś albo trafiłeś na te nieodpowiednie.
@nieinformatyk
@nieinformatyk 7 ай бұрын
@@SmiercDlaGoogle Typowa kląta wiedzy :) Jeśli robisz coś przez 14 lat to pewne rzeczy wydają Ci sie być oczywiste i zrozumiałe na tyle, że nie wymagają tłumaczenia. Dla kogoś kto zaczyna lub ma 2 lata doświadczenia pytań jest wciąż dużo a walidacja wiedzy w interencie przychodzi z dużym trudem. Nie każdy kurs jest dla każdego. Jestem w stanie sobie wyobrazić świetny kurs dla osób bardzo doświadczinych, np. 10+ lat doświadczenia w IT. Tyle, że takich kursów jest mało, bo mało osób z takimi umiejętnościami dzieli się wiedzą w internecie.
@WojennyMlotek
@WojennyMlotek 7 ай бұрын
serio, ten Oracle ma tagi beznadziejny edytor kodu ??? Jak z lat 90, oczy bolą jak się na to patrzy :)
@nieinformatyk
@nieinformatyk 7 ай бұрын
Możesz się połączyć dowolnym inny, np. Dbeaver czy Toad. Szczerze mówiąc to nie widzę specjalnie różnicy między sql developerem a pgadmin czy sql management studio.
@WojennyMlotek
@WojennyMlotek 7 ай бұрын
@@nieinformatykSQL Management Studio też jest okropny, ale za to jest już Azure Data Studio
@nieinformatyk
@nieinformatyk 7 ай бұрын
@@WojennyMlotek Odpowiednikiem Azure Data Studio będzie Web Sql Developer :) www.thatjeffsmith.com/archive/2019/12/sql-developer-web-is-now-available/
@infeltk
@infeltk 7 ай бұрын
@@WojennyMlotek nie obrzydzaj, dostajesz za darmo i jęczysz. Azure? daj spokój
@infeltk
@infeltk 7 ай бұрын
Nie ma co się wkurzać. Taki jest i koniec. To wymysł inzynierów i kolejnych rozwiązań. Kazdy język ma złe strony. To tylko narzędzie. A tak btw. są inne zawody, nie trzeba być bazodanowcem.
@nieinformatyk
@nieinformatyk 7 ай бұрын
Problemem nie są tu inżynierowi tworzący technologie, tylko Ci z niej korzystający. Nowa technika złączeń została wprowadzona, bo ktoś dostrzegł wady tej starej - nie ma nic w tym złego, że pierwszy pomysł nie był do końca udany :) Gorzej, że kiedy już mamy do dyspozycji lepsze narzędzie to czasami wciąż używamy tego gorszego.
@mirosawstepien4042
@mirosawstepien4042 7 ай бұрын
Niepotrzebnie tak autorytatywnie stwierdzasz, że składania 92 jest lepsza od składni 89. To prawda, że 89, gdy nie dopuscza "plusików" to pozwala na mniej, ale gdy łączysz w prosty sposób "inner" wiele tabel, ta stara składnia jest bardziaj czytelna i miła dla oka. Idę o zakład, że pierwszą skladnią jaką poznałeś to była 92, więc wydaje Ci się bezwzględnie lepsza.
@nieinformatyk
@nieinformatyk 7 ай бұрын
Dlaczego niepotrzebnie? Chciałem wyrazić swoją opinię do czego mam prawo, tak jak każdy ma prawo się z nią nie zgadzać. Owszem, najpierw poznałem ANSI-92, ale to niewiele zmienia w tej kwestii. Nawet dla łączenia jedynie 2 tabel po 1 kolumnie uważam ANSI-92 za lepsze rozwiązanie.
@mateuszgaeziewski8433
@mateuszgaeziewski8433 7 ай бұрын
.
Grupowanie danych w SQL, czyli GROUP BY i funkcje agregujące
14:40
nieinformatyk
Рет қаралды 2,3 М.
Clowns abuse children#Short #Officer Rabbit #angel
00:51
兔子警官
Рет қаралды 75 МЛН
- А что в креме? - Это кАкАооо! #КондитерДети
00:24
Телеканал ПЯТНИЦА
Рет қаралды 7 МЛН
Dlaczego indeks przyśpiesza wykonywanie zapytań SQL?
17:48
nieinformatyk
Рет қаралды 4,1 М.
Praca z tabelą i constraintami w SQL
20:06
nieinformatyk
Рет қаралды 1,6 М.
Poziomy izolacji sql - wyjaśnienie dla laika + przykłady
27:36
nieinformatyk
Рет қаралды 3,7 М.
Podzapytania SQL - podstawy z przykładami
13:28
nieinformatyk
Рет қаралды 1,7 М.
Jak odczytywać klucze obce i łączyć tabele w SQL Server
25:45
Rodzaje indeksów w bazie danych Oracle
19:58
nieinformatyk
Рет қаралды 3,3 М.
Test SQL - 10 podchwytliwych pytań rekrutacyjnych
14:13
nieinformatyk
Рет қаралды 2,4 М.
Копия iPhone с WildBerries
1:00
Wylsacom
Рет қаралды 6 МЛН
Лазер против камеры смартфона
1:01
NEWTONLABS
Рет қаралды 639 М.
Это Xiaomi Su7 Max 🤯 #xiaomi #su7max
1:01
Tynalieff Shorts
Рет қаралды 1,9 МЛН
Это - iPhone 16 и вот что надо знать...
17:20
Overtake lab
Рет қаралды 124 М.
iPhone socket cleaning #Fixit
0:30
Tamar DB (mt)
Рет қаралды 15 МЛН