kzen.dev
  • Otázky
  • Značky
  • Používatelia
Oznámenia
Odmeny
Registrácia
Po registrácii budete informovaní o odpovediach a komentároch na vaše otázky.
Prihlásiť sa
Ak už máte konto, prihláste sa a skontrolujte nové oznámenia.
Za pridané otázky, odpovede a komentáre budú udelené odmeny.
Viac na
Zdroj
Upraviť
Lion King
Lion King
Question

Aký je rozdiel medzi INNER JOIN, LEFT JOIN, RIGHT JOIN a FULL JOIN?

Aký je rozdiel medzi INNER JOIN, LEFT JOIN, RIGHT JOIN a FULL JOIN v MySQL?

1586 2011-04-18T17:15:24+00:00 3
 DineshDB
DineshDB
Edited question 26 marec 2018 в 6:18
Programovanie
sql
mysql
join
outer-join
inner-join
Popular videos
SQL Joins: Difference Between Inner/Left/Right/Outer Joins
SQL Joins: Difference Between Inner/Left/Right/Outer Joins
pred 2 rokmi
SQL Inner Joins and Outer Joins
SQL Inner Joins and Outer Joins
pred 3 rokmi
Inner Join, Left Join, Right Join and Full Outer Join in SQL Server | SQL Server Joins
Inner Join, Left Join, Right Join and Full Outer Join in SQL Server | SQL Server Joins
pred 10 rokmi
Mysql просто INNER JOIN, LEFT JOIN, RIGHT JOIN
Mysql просто INNER JOIN, LEFT JOIN, RIGHT JOIN
pred 4 rokmi
SQL JOIN tutorial 2021: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, join more than 2 tables
SQL JOIN tutorial 2021: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, join more than 2 tables
pred 2 rokmi
SQL Joins Tutorial for Beginners - Inner Join, Left Join, Right Join, Full Outer Join
SQL Joins Tutorial for Beginners - Inner Join, Left Join, Right Join, Full Outer Join
pred 5 rokmi
SQL Joins Tutorial For Beginners | Inner, Left, Right, Full Join | SQL Joins With Examples | Edureka
SQL Joins Tutorial For Beginners | Inner, Left, Right, Full Join | SQL Joins With Examples | Edureka
pred 3 rokmi
outer join , Left Join, Right Join et Full Join SQL Server #14
outer join , Left Join, Right Join et Full Join SQL Server #14
pred 3 rokmi
26    INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER, FULL OUTER ,CROSS JOIN    Microsoft  SQL Server
26 INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER, FULL OUTER ,CROSS JOIN Microsoft SQL Server
pred 2 rokmi
SQL Server joins  :- Inner join,Left join,Right join ,full outer join and cross join
SQL Server joins :- Inner join,Left join,Right join ,full outer join and cross join
pred 5 rokmi
14. MySQL 8 -JOIN, INNER JOIN, LEFT и RIGHT JOIN   объединение таблиц
14. MySQL 8 -JOIN, INNER JOIN, LEFT и RIGHT JOIN объединение таблиц
pred 3 rokmi
Difference between Natural Join And Inner Join In SQL | Which is better? Examples
Difference between Natural Join And Inner Join In SQL | Which is better? Examples
pred rokom
SQL Joins Explained  |¦| Joins in SQL |¦| SQL Tutorial
SQL Joins Explained |¦| Joins in SQL |¦| SQL Tutorial
pred 3 rokmi
« Predchádzajúci
Ďalšie »
Solution / Answer
Pranay Rana
Pranay Rana
31 máj 2011 в 1:29
2011-05-31T13:29:46+00:00
Viac na
Zdroj
Upraviť
#12332247

Prečítanie tohto pôvodného článku na stránke The Code Project vám veľmi pomôže: Visual Representation of SQL Joins.

alt text

Pozrite si aj tento príspevok: SQL SERVER - lepší výkon - LEFT JOIN alebo NOT IN?.

Originál nájdete na adrese: Rozdiel medzi JOIN a OUTER JOIN v MySQL.

 philipxy
philipxy
Edited answer 3 september 2019 в 7:54
SQL SERVER - Join Better Performance - LEFT JOIN or NOT IN? - SQL Authority with Pinal Dave
First of all answer this question : Which method of T-SQL is better for performance LEFT JOIN or NOT IN when writing a query? The answer is: It depends! It all depends on what kind of data is and what kind query it is etc. In that case just for fun guess one option LEFT JOIN or NOT IN. If you need to refer the query which demonstrates the mentioned clauses, review following two queries for Join Better Performance.
blog.sqlauthority.com
3120
0
Brian Leeming
Brian Leeming
18 apríl 2011 в 8:28
2011-04-18T20:28:41+00:00
Viac na
Zdroj
Upraviť
#12332246

INNER JOIN získa všetky záznamy, ktoré sú spoločné pre obe tabuľky na základe zadanej klauzuly ON.

LEFT JOIN získa všetky záznamy z prepojenej tabuľky LEFT, ale ak ste vybrali niektoré stĺpce z tabuľky RIGHT, ak neexistujú žiadne súvisiace záznamy, tieto stĺpce budú obsahovať NULL.

RIGHT JOIN je podobné ako vyššie uvedené, ale získa všetky záznamy v tabuľke RIGHT.

FULL JOIN získa všetky záznamy z oboch tabuliek a do stĺpcov, v ktorých neexistujú súvisiace záznamy v opačnej tabuľke, vloží NULL.

 Aron
Aron
Edited answer 7 október 2019 в 9:11
680
0
Arunprasanth  K V
Arunprasanth K V
25 február 2015 в 12:40
2015-02-25T12:40:13+00:00
Viac na
Zdroj
Upraviť
#12332248

Klauzula SQL JOIN sa používa na kombinovanie riadkov z dvoch alebo viacerých tabuliek, na základe spoločného poľa medzi nimi.

V jazyku SQL sú k dispozícii rôzne typy spojenia:

INNER JOIN: vracia riadky, ak existuje zhoda v oboch tabuľkách.

LEFT JOIN: vráti všetky riadky z ľavej tabuľky, aj keď v pravej tabuľke nie je žiadna zhoda.

RIGHT JOIN: vráti všetky riadky z pravej tabuľky, aj keď v ľavej tabuľke nie sú žiadne zhody.

FULL JOIN: Kombinuje výsledky ľavého aj pravého vonkajšieho spojenia.

Spojená tabuľka bude obsahovať všetky záznamy z oboch tabuliek a doplní NULL za chýbajúce zhody na oboch stranách.

SELF JOIN: používa sa na pripojenie tabuľky k sebe samej, ako keby išlo o dve tabuľky, pričom sa v príkaze SQL dočasne zmení názov aspoň jednej tabuľky.

CARTESIAN JOIN: vráti karteziánsky súčin množín záznamov z dvoch alebo viacerých spojených tabuliek.

Môžeme vziať každé prvé štyri spojenia v Details :

Máme dve tabuľky s nasledujúcimi hodnotami.

TabuľkaA

id  firstName                  lastName
.......................................
1   arun                        prasanth                 
2   ann                         antony                   
3   sruthy                      abc                      
6   new                         abc                                           

TabuľkaB

id2 age Place
................
1   24  kerala
2   24  usa
3   25  ekm
5   24  chennai

....................................................................

PRIPOJENIE NOVÉHO ČLENA

Poznámka :poskytuje priesečník týchto dvoch tabuliek, t. j. riadky, ktoré majú spoločné v tabuľkeA a tabuľkeB

Syntax

SELECT table1.column1, table2.column2...
  FROM table1
 INNER JOIN table2
    ON table1.common_field = table2.common_field;

Použite ju v našej vzorovej tabuľke :

SELECT TableA.firstName,TableA.lastName,TableB.age,TableB.Place
  FROM TableA
 INNER JOIN TableB
    ON TableA.id = TableB.id2;

Výsledok bude

firstName       lastName       age  Place
..............................................
arun            prasanth        24  kerala
ann             antony          24  usa
sruthy          abc             25  ekm

LEFT JOIN

Poznámka : poskytne všetky vybrané riadky v tabuľkeA plus všetky spoločné vybrané riadky v tabuľkeB.

Syntax

SELECT table1.column1, table2.column2...
  FROM table1
  LEFT JOIN table2
    ON table1.common_field = table2.common_field;

Použite ju v našej vzorovej tabuľke :

SELECT TableA.firstName,TableA.lastName,TableB.age,TableB.Place
  FROM TableA
  LEFT JOIN TableB
    ON TableA.id = TableB.id2;

Výsledok

firstName                   lastName                    age   Place
...............................................................................
arun                        prasanth                    24    kerala
ann                         antony                      24    usa
sruthy                      abc                         25    ekm
new                         abc                         NULL  NULL

PRAVÉ SPOJENIE

Poznámka : poskytne všetky vybrané riadky v tabuľkeB plus všetky spoločné vybrané riadky v tabuľkeA.

Syntax

SELECT table1.column1, table2.column2...
  FROM table1
 RIGHT JOIN table2
    ON table1.common_field = table2.common_field;

Použite ju v našej vzorovej tabuľke :

SELECT TableA.firstName,TableA.lastName,TableB.age,TableB.Place
  FROM TableA
 RIGHT JOIN TableB
    ON TableA.id = TableB.id2;

Výsledok

firstName                   lastName                    age     Place
...............................................................................
arun                        prasanth                    24     kerala
ann                         antony                      24     usa
sruthy                      abc                         25     ekm
NULL                        NULL                        24     chennai

FULL JOIN

Poznámka :Vráti všetky vybrané hodnoty z oboch tabuliek.

Syntax

SELECT table1.column1, table2.column2...
  FROM table1
  FULL JOIN table2
    ON table1.common_field = table2.common_field;

Použite ju v našej vzorovej tabuľke :

SELECT TableA.firstName,TableA.lastName,TableB.age,TableB.Place
  FROM TableA
  FULL JOIN TableB
    ON TableA.id = TableB.id2;

Výsledok

firstName                   lastName                    age    Place
...............................................................................
arun                        prasanth                    24    kerala
ann                         antony                      24    usa
sruthy                      abc                         25    ekm
new                         abc                         NULL  NULL
NULL                        NULL                        24    chennai

Záujímavý fakt

Pri INNER spojeniach na poradí nezáleží

Pre (LEFT, RIGHT alebo FULL) OUTER spojenia na poradí záleží

Radšej si pozrite tento odkaz, ktorý vám poskytne zaujímavé podrobnosti o poradí spojenia

 SergeyUr
SergeyUr
Edited answer 11 september 2018 в 8:36
650
0
Pridať otázku
Kategórie
Všetky
Technológia
Kultúra / Rekreácia
Život / Umenie
Veda
Profesionálne
Obchod
Používatelia
Všetky
New
Popular
1
bran Bran
Registered pred 12 hodinami
2
Олечка Арапова
Registered pred 18 hodinami
3
Роман Азаров
Registered pred týždňom
4
Mansur Zakirov
Registered pred týždňom
5
Тагир Мамедов
Registered pred 2 týždňami
DE
EL
ES
FI
FR
ID
IT
JA
LV
NL
PT
RU
SK
SL
TR
UK
ZH
© kzen.dev 2023
Zdroj
stackoverflow.com
na základe licencie cc by-sa 3.0 s uvedením autora