Аператар SQL INNER JOIN: прыклады, сінтаксіс і асаблівасці

Дата:

2019-01-30 15:10:16

Прагляды:

440

Рэйтынг:

1Любіць 0Непрыязнасць

Доля:

Table of contents:

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

sql inner join прыклад

Выбаркі дадзеных з табліц

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

Select * from Person

дзе Person – імя табліцы, з якой неабходна зрабіць выбарку дадзеных.

Калі ж будзе неабходнасць выбраць дадзеныя з некалькіх табліц, можна выкарыстоўваць адну з стандартных канструкцый для аб'яднання некалькіх табліц.

Спосабы падлучэння дадатковых табліц

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

  1. Аператар Inner Join.
  2. Left Join або, гэта другі спосаб запісу, Left Outer Join.
  3. Cross Join.
  4. Full Join.

Выкарыстанне аператараў аб'яднання табліц на практыцы можна засвоіць, разгледзеўшы прымяненне аператара SQL - Inner Join. Прыклад яго выкарыстання будзе выглядаць наступным чынам:

Больш:

Lenovo v580c: падрабязны агляд

Lenovo v580c: падрабязны агляд

Сёння мы вырашылі напісаць пра ноўтбуку Lenovo v580c. Агляд будзе падрабязным, так як гэты партатыўны ПК серыі IdeaPad мае высокую папулярнасць, але не многія ведаюць, чым жа прыцягвае гэта прылада пакупнікоў. Мадэль з'яўляецца хуткай і змяшчае ў саб...

Брандмаўэр - што гэта? Стандартны абаронца ПК

Брандмаўэр - што гэта? Стандартны абаронца ПК

Брандмаўэр – што гэта такое? Карысная функцыя ў аперацыйнай сістэме або малаэфектыўныя сродак абароны? Перш чым адказаць на гэтае пытанне, нам трэба высветліць, што робіць кампутар і як правільна яго наладзіць.Агульныя звесткіДля паспяховай пра...

"Аблівіян": праходжанне гульні. Кіраўніцтва і парады па праходжанні гульні "Аблівіян"

The Elder Scrolls IV: Oblivion — ролевая гульня ад кампаніі Bethesda Games Studios. Адразу ж пасля рэлізу у 2006 годзе яна стала вельмі папулярнай. Сюжэт заснаваны на супрацьстаянні галоўнага героя і культу Прынца Разбурэння, які плануе адкрыць...

Select * from Person

Inner join Subdivision on Su_Person = Pe_ID

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

Аб'яднанне дадзеных у табліцах парадкова

аператар sql inner join прыклады

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

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

Апісанне аператара Inner Join

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

Калі разгледзець такую працу з пункту гледжання графічнай інтэрпрэтацыі, то атрымаем структуру аператара SQL Inner Join, прыклад якой можна паказаць з дапамогай наступнай схемы:

sql inner join сінтаксіс прыклады

Да прыкладу, мы маем дзве табліцы, схема якіх паказана на малюнку. Яны ў сваю чаргу, маюць розны колькасць запісаў. У кожнай з табліц ёсць палі, якія звязаныя паміж сабой. Калі паспрабаваць патлумачыць працу аператара зыходзячы з малюнка, то вяртаецца вынік будзе ў выглядзе набору запісаў з двух табліц, дзе нумары звязаных паміж сабой палёў супадаюць. Прасцей кажучы, запыт верне толькі тыя запісы (з табліцы нумар два), звесткі аб якіх ёсць у табліцы нумар адзін.

Сінтаксіс аператара Inner Join

Як ужо гаварылася раней, аператар Inner Join, а менавіта яго сінтаксіс, незвычайна просты. Для арганізацыі сувязяў паміж табліцамі ў межах адной выбаркі дастаткова будзе запомніць і выкарыстоўваць наступную прынцыповую схему пабудовы аператара, якая прапісваецца ў адну радок праграмнага SQL-кода, а менавіта:

  • Inner Join [Імя табліцы] on [ключавое поле з табліцы, да якой падлучальны] = [Ключавым полі подключаемой табліцы].

Для сувязі ў дадзеным аператары выкарыстоўваюцца галоўныя ключы табліц. Як правіла, у групе табліц, якія захоўваюць інфармацыю аб супрацоўніках, раней апісаныя Person і Subdivision маюць хаця б па адной падобнай запісу. Такім чынам, разгледзім больш падрабязна аператар SQL Inner Join, прыклад якога быў паказаны некалькі раней.

Прыклад і апісанне падлучэння да выбарцы адной табліцы

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

Другая табліца Subdivision будзе захоўваць інфармацыю аб падраздзяленнях, у якіх працуюць супрацоўнікі. Яна, у сваю чаргу, звязана з дапамогай поля Su_Person з табліцай Person. Аб чым гэта кажа? Зыходзячы з схемы дадзеных можна сказаць, што ў табліцы падраздзяленняў для кожнай запісы з табліцы «Супрацоўнікі» будзе інфармацыя аб аддзеле, у якім яны працуюць. Менавіта па гэтай сувязі і будзе працаваць аператар Inner Join.

Для больш зразумелага выкарыстання разгледзімаператар SQL Inner Join (прыклады яго выкарыстання для аднаго і двух табліц). Калі разглядаць прыклад для адной табліцы, то тут усё даволі проста:

Select * from Person

Inner join Subdivision on Su_Person = Pe_ID

Прыклад падлучэння двух табліц і подзапроса

sql і аператар join inner join

Аператар SQL Inner Join, прыклады выкарыстання якога для выбаркі дадзеных з некалькіх табліц можна арганізаваць вышэйпаказаным чынам, працуе па ледзь усложненному прынцыпе. Для двух табліц ускладніць задачу. Скажам, у нас ёсць табліца Depart, у якой захоўваецца інфармацыя аб усіх аддзелах у кожным з падраздзяленняў. У гэтую табліцу запісаны нумар падраздзялення і нумар супрацоўніка і трэба дапоўніць выбарку дадзеных назвай кожнага аддзела. Забягаючы наперад, варта сказаць, што для рашэння гэтай задачы можна скарыстацца двума метадамі.

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

Select Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name from Person

Inner join Subdivision on Su_Person = Pe_ID

Inner join Depart on Su_Depart = Dep_ID and Pe_Depart = Dep_ID

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

Select Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name from Person

Inner join Subdivision on Su_Person = Pe_ID

Inner join (Select Dep_ID, Dep_Name, Pe_Depart from Depart) as T on Su_Depart = Dep_ID and Pe_Depart = Dep_ID

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

Прыклад выкарыстання аператара Inner Join для выбарак з вялікай колькасці табліц

Пабудова складаных запытаў мае на ўвазе выкарыстанне для выбаркі дадзеных значнага колькасці табліц і подзапросов, звязаных паміж сабой. Гэтым патрабаванням можа задаволіць SQL Inner Join сінтаксіс. Прыклады выкарыстання аператара ў дадзеным выпадкам могуць ўскладняцца не толькі выборками з многіх месцаў захоўвання дадзеных, але і з вялікай колькасці ўкладзеных подзапросов. Для канкрэтнага прыкладу можна ўзяць выбарку дадзеных з сістэмных табліц (аператар Inner Join SQL). Прыклад - 3 табліцы - у гэтым выпадку будзе мець даволі складаную структуру.

inner join sql прыклад 3 табліцы

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

Пры выкарыстанні аператара Inner Join варта памятаць аб тым, што чым складаней запыт, тым даўжэй ён будзе рэалізоўвацца, таму варта шукаць шляхі больш хуткага выканання і вырашэння пастаўленай задачы.inner join sql прыклад 3 табліцы

Заключэнне

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


Article in other languages:

AR: https://tostpost.com/ar/computers/14604-sql-inner-join.html

DE: https://tostpost.com/de/computer/26090-inner-join-sql-anweisung-beispiele-syntax-und-features.html

ES: https://tostpost.com/es/los-ordenadores/26213-el-operador-inner-join-de-sql-ejemplos-de-la-sintaxis-y-caracter-stica.html

HI: https://tostpost.com/hi/computers/14626-sql.html

JA: https://tostpost.com/ja/computers/14627-sql.html

KK: https://tostpost.com/kk/komp-yuterler/26057-operatory-sql-inner-join-mysaldar-sintaksis-zh-ne-erekshel-kter.html

PL: https://tostpost.com/pl/komputery/25981-instrukcj-sql-inner-join-przyk-ady-sk-adnia-i-cechy.html

PT: https://tostpost.com/pt/computadores/25991-a-instru-o-sql-inner-join-exemplos-da-sintaxe-e-caracter-sticas.html

TR: https://tostpost.com/tr/bilgisayarlar/26062-operat-r-sql-inner-jo-n-rnekler-s-zdizimi-ve-zellikleri.html

UK: https://tostpost.com/uk/komp-yuteri/26039-operator-sql-inner-join-prikladi-sintaksis-osoblivost.html






Alin Trodden - аўтар артыкула, рэдактар
"Прывітанне, Я Алін Тродден. Я пішу тэксты, чытаю кнігі і шукаю ўражанні. І я нядрэнна ўмею распавядаць вам пра гэта. Я заўсёды рады ўдзельнічаць у цікавых праектах."

Заўвага (0)

Гэтая артыкул не мае каментароў, будзьце першым!

Дадаць каментар

Навіны

Як выдаліць Zaxar: пакрокавая інструкцыя

Як выдаліць Zaxar: пакрокавая інструкцыя

Дастаткова часта можна назіраць сітуацыі, калі карыстальнікі камп'ютэрных сістэм на аснове Windows раптам заўважаюць з'яўленне нейкай незразумелай праграмы пад назвай Zaxar Browser Game. Часам яна можа называцца проста Zaxar, Zaxa...

Чыць-коды на

Чыць-коды на "the Sims 4" на цяжарнасць двайны, тройней, на хуткую цяжарнасць

«the Sims 4» - гэта чацвёртая частка легендарнай серыі кампутарных сімулятараў жыцця, у якіх вы можаце стварыць свайго ўласнага персанажа, а затым знаёміць яго з іншымі персанажамі, адпраўляць на працу, атрымліваць гро...

Драйверы для праграм і прылад: ўстаноўка і падтрыманне ў актуальным стане

Драйверы для праграм і прылад: ўстаноўка і падтрыманне ў актуальным стане

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

Як ўзмацніць сігнал Wi-Fi?

Як ўзмацніць сігнал Wi-Fi?

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

Як падключыць сканер да ноўтбука: парады для пачаткоўцаў

Як падключыць сканер да ноўтбука: парады для пачаткоўцаў

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

Чаму ў

Чаму ў "Скайпе" не чуваць суразмоўцы

У гэтым артыкуле будзе закранута тэма цяжкасцяў зносін у інтэрнэце. Часта здараюцца сітуацыі, калі дрэнна чуваць суразмоўцы ў "Скайпе". Прычын таму можа быць некалькі. Усе яны будуць разгледжаны ніжэй. І нашы парады змогуць дапама...