рдЬреБрдбрд╝рдиреЗ рдХреА рд╕рдордЭ рдЯреВрдЯ рдЬрд╛рддреА рд╣реИред рдЬрд╛рд░реА рд░рдЦрд╛ рдЬрд╛рдПред рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛ рдкреНрд░рдпрд╛рд╕

рдЖрдк рдореЗрдВ рд╕реЗ рдХрдИ рдиреЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдЧрд▓рдд рджреГрд╢реНрдп рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдХрд┐ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬреЙрдЗрди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╡реЗрди рд╕рд░реНрдХрд▓ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдорд╛рди рджреЛрд╣рд░рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдЬрд┐рдВрдХ рдЙрддреНрдкрд╛рдж рдкреЙрдбрдХрд╛рд╕реНрдЯ рдХреЗ рдЫрдареЗ рдЕрдВрдХ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреА рддреИрдпрд╛рд░реА рдореЗрдВ (рдЬрд╣рд╛рдВ рд╣рдо рд▓реЗрдЦ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рдордд рд╣реБрдП), рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореВрд▓ рд▓реЗрдЦ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд╡рд┐рдХрд▓реНрдк рднреА рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рд╕рднреА рдХреЛ рдХрдЯ рдХреЗ рддрд╣рдд рдЖрдордВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ


рддреЛ, рджреГрд╢реНрдпред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдкрд╛рдпрд╛ рдерд╛, рдПрдХ рдЪреМрд░рд╛рд╣реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдЯреЗрд╕рд┐рдпрди рдЙрддреНрдкрд╛рдж рд╣реИред рдпрджрд┐ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдЙрддреНрдкрд╛рдж рдХреЛ рдХреИрд╕реЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рдЕрдХреНрд╕рд░ рдПрдХ рдЖрдпрддрд╛рдХрд╛рд░ рдореЗрдЬ рд╣реИ, рдЬрд╣рд╛рдВ рдкрд╣рд▓рд╛ рд╕рдВрдмрдВрдз рдПрдХ рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рдФрд░ рджреВрд╕рд░рд╛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рддрддреНрд╡ рд╕рдм рдХреБрдЫ рдХреЗ рд╕рднреА рд╕рдВрдпреЛрдЬрди рд╣реЛрдВрдЧреЗред


рдЗрд╕реЗ рдЕрдореВрд░реНрдд рд░реВрдк рд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирдирд╛ рд╣реЛрдЧрд╛ред


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдЯреЗрдмрд▓ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ


id -- 1 1 6 5 

рджреВрд╕рд░реЗ рдореЗрдВ:


 id -- 1 1 2 3 5 

рддреБрд░рдВрдд рдЕрд╕реНрд╡реАрдХрд░рдг: рдореИрдВрдиреЗ рдлрд╝реАрд▓реНрдб рдХреЛ "рдЖрдИрдбреА" рд╢рдмреНрдж рдХрд╣рд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдХрдИ рдЕрд╢рд┐рд╖реНрдЯ рдереЗ, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реИ - рдЖрдИрдбреА рджреЛрд╣рд░рд╛рдпрд╛, рдЕрдкрдорд╛рдиред рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рдЪрд┐рдВрддрд╛ рдордд рдХрд░реЛ, рдареАрдХ рд╣реИ
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рджреИрдирд┐рдХ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рджрд┐рди рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдХрд░ рдбреЗрдЯрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдмрд┐рдВрджреБ рдирд╣реАрдВред


рдЗрд╕рд▓рд┐рдП, рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рдЪрд▓рд┐рдП CROSS JOIN рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:


рдХреНрд░реЛрд╕ рдЬреЙрдЗрди


 SELECT t1.id, t2.id FROM t1 CROSS JOIN t2 

рдХреНрд░реЙрд╕ рдЬреЙрдЗрди рд╕рднреА рд╕рдВрднрд╡ рд╕рдВрдпреЛрдЬрди рд╣реИрдВ рдЬреЛ рджреЛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред


рдЗрд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд▓реНрдкрдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ: x- рдЕрдХреНрд╖ рдкрд░ - рдПрдХ рддрд╛рд▓рд┐рдХрд╛, y- рдЕрдХреНрд╖ рдкрд░ - рдЕрдиреНрдп, рдЕрдВрджрд░ рдХреА рд╕рднреА рдХреЛрд╢рд┐рдХрд╛рдПрдБ (рдирд╛рд░рдВрдЧреА рдореЗрдВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХреА рдЧрдИ) - рдпрд╣ рдкрд░рд┐рдгрд╛рдо рд╣реИ



INNER JOIN рдХрд░реЗрдВ


INNER JOIN (рдпрд╛ рд╕рд┐рд░реНрдл JOIN) рд╡рд╣реА CROSS JOIN рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд╣реА рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ "ON" рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдореЗрдВ рд▓рд┐рдЦреА рд╢рд░реНрдд рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВред рд░рд┐рдХреЙрд░реНрдб рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣реЛрдиреЗ рдкрд░ рд╕реНрдерд┐рддрд┐ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ - рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд╛рд░ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдВрдЧреЗред


 SELECT t1.id, t2.id FROM t1 INNER JOIN t2 ON t1.id = t2.id 


рдмрд╛рдИрдВ рдУрд░


LEFT OUTER JOIN (рдпрд╛ рд╕рд┐рд░реНрдл LEFT JOIN) INNER JOIN рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рдо рдкрд╣рд▓реА рдЯреЗрдмрд▓ рд╕реЗ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП null рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛ рдерд╛ред


 SELECT t1.id, t2.id FROM t1 LEFT JOIN t2 ON t1.id = t2.id 


рд╕рд╣реА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ


RIGHT OUTER JOIN (рдпрд╛ рд░рд╛рдЗрдЯ рдЬреЙрдЗрди) LEFT JOIN рдХреА рддрд░рд╣ рд╣реА рд╣реИ, рдареАрдХ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред рдпрд╛рдиреА рдпрд╣ рджреВрд╕рд░реА рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП INNER JOIN + null рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛ рдерд╛


 SELECT t1.id, t2.id FROM t1 RIGHT JOIN t2 ON t1.id = t2.id 


тЖТ рдЖрдк рдпрд╣рд╛рдБ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВ


рдирд┐рд╖реНрдХрд░реНрд╖


рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рджреГрд╢реНрдп рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реАрдорд╛рдПрдВ рд╣реИрдВ: рдпрд╣ рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрдм рд╕рдорд╛рдирддрд╛ рдХреЛ ON рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рдореБрд╢реНрдХрд┐рд▓ (рдХреЛрдИ рдмреВрд▓рд┐рдпрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐) рдирд╣реАрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдорд╛рдорд▓рд╛ рдЬрд╣рд╛рдВ рд╢реВрдиреНрдп рдорд╛рди рддрд╛рд▓рд┐рдХрд╛ рдорд╛рдиреЛрдВ рдХреЗ рдмреАрдЪ рд╣реИ, рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╛рдиреА рдпрд╣ рдЕрднреА рднреА рдХреБрдЫ рд╕рд░рд▓реАрдХрд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗрди рд╕рд░реНрдХрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рдФрд░ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдирд┐рдХрд▓рд╛ рд╣реИред


рд╣рдорд╛рд░реЗ рдЬрд┐рдВрдХ рдЙрддреНрдкрд╛рдж рдкреЙрдбрдХрд╛рд╕реНрдЯ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ, рдЬрд╣рд╛рдВ рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕, рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдЕрдиреНрдп рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/hi450528/


All Articles