Розніца паміж левым злучэннем і левым знешнім злучэннем у SQL – усе адрозненні

 Розніца паміж левым злучэннем і левым знешнім злучэннем у SQL – усе адрозненні

Mary Davis

База даных складаецца з арганізаванага збору структураванай інфармацыі, якая звычайна захоўваецца ў электронным выглядзе ў кампутарнай сістэме. Некалькі розных баз даных, такіх як SQL Server, Oracle, PostgreSQL і MySQL, звычайна выкарыстоўваюць мову для кіравання данымі .

Адна з такіх моў вядомая як SQL. SQL мае розныя каманды злучэнняў у выглядзе ўнутранага злучэння, левага злучэння і правага злучэння.

Як вы, магчыма, ведаеце, аб'яднанне ў SQL выкарыстоўваецца для зборкі радкоў з дзвюх ці больш табліц з адпаведнага слупка . Гэта можа выклікаць пытанне аб тым, што робяць іншыя варыянты.

Я ўпэўнены, што гэта крыху бянтэжыць! Але не хвалюйцеся, я дам падрабязную інфармацыю аб тым, што яны сабой уяўляюць, што яны азначаюць, і, спадзяюся, гэта дапаможа вам лепш зразумець.

Давайце да гэтага!

Што такое SQL?

SQL расшыфроўваецца як Structured Query Language. Гэта мова, якая выкарыстоўваецца рознымі базамі дадзеных для запісу і запыту дадзеных. Ён дазваляе кіраваць інфармацыяй з дапамогай табліц і адлюстроўвае мову для запытаў гэтых табліц і іншых звязаных аб'ектаў, такіх як віды, функцыі, працэдуры і г.д.

Дональд Чэмберлін і Рэйманд Бойс з'яўляюцца дызайнерамі SQL, які яны зрабілі для апрацоўкі дадзеных. Іх мадэль была заснавана на працах Эдгара Фрэнка Кодда, які працаваў у IBM і вынайшаў рэляцыйную базу дадзеных у 70-я гады.

Першапачаткова ён называўся SEQUEL, але быў скарочаны да SQL з-за асаблівасцейпытанні гандлёвай маркі. Аднак вы ўсё яшчэ можаце называць іх SEQUEL, калі хочаце.

З дапамогай SQL вы можаце ўстаўляць, выдаляць і абнаўляць дадзеныя, а таксама ствараць, выдаляць або змяняць іншыя аб'екты базы дадзеных. Стандартныя каманды SQL: « выбраць», «выдаліць», «уставіць», «абнавіць», «стварыць» і «адпусціць» . Яны могуць выканаць усё, што трэба зрабіць з базай дадзеных.

Больш за тое, гэтая мова выкарыстоўваецца ў некалькіх базах дадзеных, каб дапамагчы апрацоўваць дадзеныя і аб'екты базы дадзеных. Калі гэта здаецца вам складаным, вось відэа, якое тлумачыць, што такое SQL для пачаткоўцаў:

Ці можа база дадзеных працаваць без мовы?

Чаму мы выкарыстоўваем SQL?

Гэта даволі проста. Мы не зразумеем баз даных без SQL. Такім жа чынам, мы не можам кіраваць базай дадзеных без гэтага, таму што SQL - гэта сістэма, якая выкарыстоўваецца для сувязі з базай дадзеных.

Сістэмы SQL выконваюць такія задачы, як выдаленне, дабаўленне або змяненне даных. Гэтая сістэма звычайна выкарыстоўваецца для палягчэння апрацоўкі вялікіх аб'ёмаў дадзеных шляхам эфектыўнага кіравання імі. Некалькі стандартных сістэм кіравання рэляцыйнымі базамі дадзеных, якія выкарыстоўваюць SQL, уключаюць Oracle, Sybase, Microsoft Access і Ingres.

Што такое ўнутранае злучэнне і знешняе злучэнне?

Ну, па-першае, давайце разбярэмся, што такое злучэнні. У SQL злучэнні выкарыстоўваюцца для аб'яднання змесціва розных табліц. Вы можаце аб'яднаць дадзеныя рознымі спосабамі, указаўшы, як вы хочаце атрымаць дадзеныяінтэграваны і які тып Join вы хочаце выкарыстоўваць.

Унутранае аб'яднанне - гэта аб'яднанне, якое вяртае ўсе радкі з абедзвюх табліц-удзельніц, дзе асноўны запіс адной табліцы супадае з крытычным запісам іншай табліцы.

Для гэтага тыпу аб'яднання патрабаваўся аператар параўнання для супадзення радкоў з табліц-удзельніц, якія падтрымлівалі стандартнае поле або слупок абедзвюх табліц.

Знешняе аб'яднанне можа вяртаць не -адпаведныя радкі ў адной або абедзвюх табліцах . У асноўным ён вяртае ўсе радкі з усіх табліц, якія адпавядаюць умовам.

Існуе шмат розных тыпаў знешніх злучэнняў. Да іх адносяцца левае злучэнне, правае злучэнне і поўнае вонкавае злучэнне.

Вось табліца, якая абагульняе важныя функцыі злучэнняў, даступных у SQL:

Тыпы злучэнняў: Функцыя :
Унутранае злучэнне Гэта вяртае радкі, калі ў абедзвюх табліцах ёсць хаця б адно супадзенне.
Левае знешняе злучэнне Гэта вяртае ўсе радкі з левай табліцы ў спалучэнні з адпаведнымі радкамі з правай табліцы.
Правае знешняе аб'яднанне Гэта вяртае ўсе радкі з правай табліцы ў спалучэнні з адпаведнымі радкамі з левай табліцы.
Поўнае знешняе злучэнне Гэта аб'ядноўвае левае знешняе злучэнне і правае знешняе злучэнне. Вяртае радкі з любой табліцы пры выкананні ўмоў.

Гэта паказвае адрозненні паміж чатырма злучэннямі ў SQL.

Розніца паміж унутраным і знешнім злучэннямі

Ёсць яшчэ. Істотная розніца паміж унутраным і знешнім злучэннямі заключаецца ў тым, што унутраныя злучэнні звычайна прыводзяць да перасячэння дзвюх табліц. Наадварот, Знешнія аб'яднанні прыводзяць да змешвання дзвюх табліц.

Такім чынам, Унутранае злучэнне прыводзіць да перакрыцця часткі двух набораў даных, як паказана на малюнку ніжэй. Вы аб'яднаеце толькі гэтыя стандартныя радкі ў абедзвюх табліцах для ўнутраных злучэнняў. З іншага боку, Outer Joins вяртае ўсе запісы са значэннямі ў левых або прыдатных табліцах.

Знешнія аб'яднанні ўключаюць у сябе адпаведныя і несупадаючыя радкі з табліц. Акрамя таго, Знешняе злучэнне адрозніваецца ад унутранага злучэння кіраваннем умовай ілжывага супадзення.

Левае знешняе злучэнне складаецца з левага знешняга злучэння + унутранага злучэння. У той час як правае вонкавае злучэнне таксама складаецца з правага вонкавага злучэння + унутранага злучэння. Поўнае знешняе злучэнне складаецца з іх усіх.

Левае злучэнне (гэта тое самае, што левае знешняе злучэнне ў SQL?)

Магчыма, вы чулі пра Злева Далучацца таксама ў SQL? Ну, гэта тое ж самае левае знешняе злучэнне. Яны маюць дзве розныя назвы для адной і той жа функцыі.

Левае злучэнне - гэта тое ж самае, што левае знешняе злучэнне ў SQL, і яны адно цэлае. Левае злучэнне - гэта проста скарачэнне левага вонкавага злучэння. Слова"outer" проста робіць больш простым, што такое аперацыя, але абедзве клавішы выконваюць аднолькавыя функцыі.

Глядзі_таксама: Манголы супраць. Гуны - (Усё, што вам трэба ведаць) - Усе адрозненні

Чаму левае злучэнне называецца левым знешнім злучэннем?

У вас будзе магчымасць назваць яго пашыраным імем або імем хуткага доступу. Акрамя таго, гэта адно і тое ж.

Памятайце, што гэта аб'яднанне вяртае ўсе радкі ў табліцы з левага боку і адпаведныя радкі з правага боку аб'яднання. Калі з правага боку няма супадаючых бакоў, вынік будзе нулявым.

Такім чынам, калі б мы злучылі дзве табліцы, A і B, SQL Left Outer Join верне ўсе радкі ў левай табліцы , які з'яўляецца A, і ўсе радкі, якія супадаюць у іншай табліцы B справа. Карацей кажучы, вынік SQL Left Join заўсёды складаецца з радкоў левай табліцы.

Розніца паміж аб'яднаннем і злучэннем злева

Асноўнае аб'яднанне таксама называецца ўнутраным злучэннем, а злучэнне злева - вонкавым.

Але галоўная розніца ў тым, што аператар злучэння злева, хутчэй за ўсё, уключае і аб'ядноўвае ўсе радкі табліцы, на якія спасылаюцца ў левай частцы інфармацыі. Замест толькі неадпаведных радкоў ён складаецца з усіх радкоў з левай табліцы і супадаючых радкоў з іншых табліц.

Калі выкарыстоўваць левае вонкавае злучэнне ў SQL?

Выкажам здагадку, што вы шукаеце спосаб аб'яднання розных табліц. Або, калі вы аб'ядноўваеце дзве табліцы і жадаеце атрымаць вынікуключыць толькі неадпаведныя радкі адной табліцы, вы павінны выкарыстоўваць левае знешняе аб'яднанне або правільнае знешняе аб'яднанне. Выкарыстанне левага знешняга аб'яднання складаецца з радкоў, якія не супадаюць з табліцай, указанай перад пунктам левага знешняга аб'яднання.

Глядзі_таксама: A++ і ++A ў кадаванні (тлумачэнне розніцы) – усе адрозненні

Тэхнічна, левае знешняе злучэнне ідэнтыфікуе ўсе радкі з табліц, якія адпавядаюць умовам аб'яднання і неадпаведныя радкі з табліцы.

Ці павялічвае левае вонкавае злучэнне колькасць радкоў?

Гэта часта задаюць пытанне. Тэхнічна гэта так.

Аднак злучэнне злева можа толькі павялічыць колькасць радкоў у левай табліцы. І гэта толькі тады, калі ў патрэбнай табліцы некалькі супадзенняў. Акрамя таго, вы можаце выкарыстоўваць мноства левых злучэнняў у адным запыце, калі гэта неабходна для вашага аналізу.

Левае вонкавае злучэнне супраць правага вонкавага злучэння

Істотная розніца паміж левым вонкавым злучэннем і правым вонкавым злучэннем заключаецца ў аб'яднанні несупадаючых радкоў.

Такім чынам, розніца паміж гэтымі двума ў тым, што левае знешняе аб'яднанне ўключае ў сябе неадпаведныя радкі або ўсе запісы табліцы злева ад прапановы аб'яднання, у тым ліку адпаведныя радкі з правай табліцы або прапановы.

З іншага боку, правае знешняе аб'яднанне ўключае неадпаведныя радкі з табліцы ў правым баку прапановы Join і вяртае ўсе радкі з правага боку.

Прапанова Join аб'ядноўвае запісы або змяняе і маніпулюе формамі з дзвюх або больш табліц з дапамогайумова далучэння. Гэта ўмова аб'яднання паказвае, як супадаюць слупкі з розных табліц пры параўнанні.

Напрыклад, будзе стандартны слупок паміж табліцай, якая змяшчае заработную плату супрацоўніка, і іншай табліцай, якая змяшчае звесткі аб супрацоўніках. Гэта можа быць ідэнтыфікатар супрацоўніка, і гэта дапамагае аб'яднаць дзве табліцы.

Такім чынам, вы можаце разглядаць табліцу як сутнасць, а ключ - гэта агульная сувязь паміж дзвюма табліцамі, якая выкарыстоўваецца для сумеснай працы.

Вывучэнне баз даных можа быць складаным. Але гэта даволі проста атрымаць, калі вы разумееце гэта дасканала.

У чым розніца паміж правым злучэннем і правым знешнім злучэннем?

Правае злучэнне падобна да левага злучэння, за выключэннем таго, што яно вяртае ўсе радкі ў табліцы з правага боку і адпаведныя злева.

Зноў жа, правае злучэнне і правае знешняе злучэнне не маюць асаблівых адрозненняў, гэтак жа як і левае злучэнне і левае знешняе злучэнне. Карацей кажучы, тэрмін Right Join - гэта проста скарачэнне ад Right Outer Join.

Ключавое слова "outer" не з'яўляецца абавязковым. Яны абодва выконваюць адну і тую ж працу, аб'ядноўваючы наборы дадзеных і табліцы.

Як правіла, правыя знешнія злучэнні не выкарыстоўваюцца так часта, таму што вы заўсёды можаце замяніць іх левымі знешнімі злучэннямі, і вам не трэба будзе выконваць якія-небудзь дадатковыя функцыі.

Можна падумаць аб выкарыстанні правага аб'яднання, а не левага аб'яднанняспрабуе зрабіць ваш SQL больш самадакументаваным.

Вы можаце выкарыстоўваць Левае аб'яднанне для вырашэння запытаў, якія маюць нулявыя радкі на залежным баку. Вы б выкарыстоўвалі Right Join для пытанняў, якія ствараюць нулявыя радкі на незалежным баку.

Правае вонкавае аб'яднанне таксама карысна, калі вам трэба аб'яднаць адну табліцу з перасячэннем многіх іншых табліц.

Розніца паміж Join і Union у SQL

Розніца паміж Join і Union заключаецца ў тым, што Union выкарыстоўваецца для аб'яднання выніковага набору двух або больш аператараў SELECT.

У той час як Join аб'ядноўвае даныя з многіх табліц у залежнасці ад адпаведнай умовы, даныя, аб'яднаныя з выкарыстаннем аператараў Join, ствараюць новыя слупкі.

Дадзеныя, аб'яднаныя з дапамогай аператара Union, прыводзяць да новых асобных радкоў з набораў з роўнай колькасцю слупкоў.

Заключныя думкі

У заключэнне, няма розніцы паміж LEFT JOIN і LEFT OUTER JOIN . Гэта таксама дакладна для правага злучэння і правага вонкавага злучэння.

Абедзве клавішы выконваюць аднолькавыя функцыі, а « outer» - гэта проста неабавязковае ключавое слова для выкарыстання. Некаторыя людзі рэкамендуюць выкарыстоўваць яго толькі таму, што гэта ўдакладняе, што вы ствараеце знешняе злучэнне.

Такім чынам, у рэшце рэшт, незалежна ад таго, указваеце вы гэта ці не.

Іншыя цікавыя артыкулы:

    Націсніце тут, каб даведацца больш аб гэтых адрозненнях у больш кароткім выглядзе.

    Mary Davis

    Мэры Дэвіс - пісьменніца, стваральнік кантэнту і заўзяты даследчык, якая спецыялізуецца на параўнальным аналізе па розных тэмах. Са ступенню журналіста і больш чым пяцігадовым вопытам работы ў гэтай галіне, Мэры імкнецца даносіць аб'ектыўную і ясную інфармацыю сваім чытачам. Яе любоў да пісьменства пачалася ў маладосці і стала рухаючай сілай яе паспяховай пісьменніцкай кар'еры. Здольнасць Мэры даследаваць і прадстаўляць вынікі ў зручным для разумення і прывабным фармаце палюбіла яе чытачоў ва ўсім свеце. Калі яна не піша, Мэры любіць падарожнічаць, чытаць і праводзіць час з сям'ёй і сябрамі.