Распрацоўка любой базы дадзеных мае на ўвазе не толькі стварэнне і напаўненне табліц разнастайнай інфармацыяй, але і далейшую працу з дадзенымі. Для карэктнага выканання разнастайных задач па выбары дадзеных з табліц і фарміравання справаздач, выкарыстоўваецца стандартная канструкцыя Select.
Калі разглядаць задачу выбару дадзеных або пабудовы некаторага справаздачы, можна вызначыць узровень складанасці дадзенай аперацыі. Як правіла, пры працы з сур'ёзнымі (па аб'ёме інфармацыі) базамі дадзеных, якія фармуюцца, напрыклад, у інтэрнэт-крамах або буйных кампаніях, выбарка дадзеных не будзе абмяжоўвацца толькі адной табліцай. Як правіла, выбаркі могуць быць з даволі вялікай колькасці не толькі звязаных паміж сабой табліц, але і ўкладзеных запытаў/подзапросов, якія складае сам праграміст, у залежнасці ад пастаўленай перад ім задачы. Для выбаркі з адной табліцы можна выкарыстоўваць найпростую канструкцыю:
Select * from Person |
дзе Person – імя табліцы, з якой неабходна зрабіць выбарку дадзеных.
Калі ж будзе неабходнасць выбраць дадзеныя з некалькіх табліц, можна выкарыстоўваць адну з стандартных канструкцый для аб'яднання некалькіх табліц.
Калі разглядаць выкарыстанне такога роду канструкцый на пачатковым узроўні, то можна вылучыць наступныя механізмы падлучэння неабходнай колькасці табліц для выбаркі, а менавіта:
Выкарыстанне аператараў аб'яднання табліц на практыцы можна засвоіць, разгледзеўшы прымяненне аператара SQL - Inner Join. Прыклад яго выкарыстання будзе выглядаць наступным чынам:
Больш:
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 можна выкарыстоўваць не толькі для аб'яднання двух і больш табліц, але і для падлучэння іншых подзапросов, што значна палягчае працу адміністратараў базы дадзеных і, як правіла, можа значна паскорыць выкананне пэўных, складаных па структуры запытаў.
Калі разглядаць падключэнне вялікай колькасці подзапросов і зборку дадзеных у адзіную табліцу, радок за радком, то можна выкарыстоўваць таксама аператары Union, і Union All.
Прымяненне гэтых канструкцый будзе залежаць ад пастаўленай перад распрацоўшчыкам задачы і выніку, якога ён хоча дасягнуць у выніку.
У большасці выпадкаў для аб'яднання некалькіх табліц у мове SQL выкарыстоўваецца аператар Inner Join. Апісанне Inner Join ў SQL даволі простае для разумення сярэднестатыстычнага праграміста, які толькі пачынае разбірацца ў базах дадзеных. Калі разгледзець апісанне механізму працы гэтай канструкцыі, то атрымаем наступную карціну. Логіка аператара ў цэлым пабудавана на магчымасці перасячэння і выбаркі толькі тых дадзеных, якія ёсць у кожнай з якія ўваходзяць у запыт табліц.
Калі разгледзець такую працу з пункту гледжання графічнай інтэрпрэтацыі, то атрымаем структуру аператара SQL Inner Join, прыклад якой можна паказаць з дапамогай наступнай схемы:
Да прыкладу, мы маем дзве табліцы, схема якіх паказана на малюнку. Яны ў сваю чаргу, маюць розны колькасць запісаў. У кожнай з табліц ёсць палі, якія звязаныя паміж сабой. Калі паспрабаваць патлумачыць працу аператара зыходзячы з малюнка, то вяртаецца вынік будзе ў выглядзе набору запісаў з двух табліц, дзе нумары звязаных паміж сабой палёў супадаюць. Прасцей кажучы, запыт верне толькі тыя запісы (з табліцы нумар два), звесткі аб якіх ёсць у табліцы нумар адзін.
Як ужо гаварылася раней, аператар Inner Join, а менавіта яго сінтаксіс, незвычайна просты. Для арганізацыі сувязяў паміж табліцамі ў межах адной выбаркі дастаткова будзе запомніць і выкарыстоўваць наступную прынцыповую схему пабудовы аператара, якая прапісваецца ў адну радок праграмнага SQL-кода, а менавіта:
Для сувязі ў дадзеным аператары выкарыстоўваюцца галоўныя ключы табліц. Як правіла, у групе табліц, якія захоўваюць інфармацыю аб супрацоўніках, раней апісаныя 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 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 |
Варта адзначыць, што такая канструкцыя не заўсёды можа паскорыць працу запыту. Часам бываюць выпадкі, калі прыходзіцца выкарыстоўваць дадаткова выбарку дадзеных па часовую табліцу (калі іх аб'ём занадта вялікі), а потым яе аб'ядноўваць з асноўнай выбаркай.
Пабудова складаных запытаў мае на ўвазе выкарыстанне для выбаркі дадзеных значнага колькасці табліц і подзапросов, звязаных паміж сабой. Гэтым патрабаванням можа задаволіць SQL Inner Join сінтаксіс. Прыклады выкарыстання аператара ў дадзеным выпадкам могуць ўскладняцца не толькі выборками з многіх месцаў захоўвання дадзеных, але і з вялікай колькасці ўкладзеных подзапросов. Для канкрэтнага прыкладу можна ўзяць выбарку дадзеных з сістэмных табліц (аператар Inner Join SQL). Прыклад - 3 табліцы - у гэтым выпадку будзе мець даволі складаную структуру.
У дадзеным выпадку падключана (да асноўнай табліцы) яшчэ тры дадаткова і ўведзена некалькі ўмоў выбару дадзеных.
Пры выкарыстанні аператара Inner Join варта памятаць аб тым, што чым складаней запыт, тым даўжэй ён будзе рэалізоўвацца, таму варта шукаць шляхі больш хуткага выканання і вырашэння пастаўленай задачы.
У выніку хацелася б сказаць адно: праца з базамі дадзеных - гэта не самае складанае, што ёсць у праграмаванні, таму пры жаданні абсалютна кожны чалавек зможа авалодаць ведамі па пабудове баз дадзеных, а з часам, набраўшыся вопыту, атрымаецца працаваць з імі на прафесійным узроўні.
Article in other languages:
AR: https://tostpost.com/ar/computers/14604-sql-inner-join.html
HI: https://tostpost.com/hi/computers/14626-sql.html
JA: https://tostpost.com/ja/computers/14627-sql.html
PL: https://tostpost.com/pl/komputery/25981-instrukcj-sql-inner-join-przyk-ady-sk-adnia-i-cechy.html
Alin Trodden - аўтар артыкула, рэдактар
"Прывітанне, Я Алін Тродден. Я пішу тэксты, чытаю кнігі і шукаю ўражанні. І я нядрэнна ўмею распавядаць вам пра гэта. Я заўсёды рады ўдзельнічаць у цікавых праектах."
Навіны
Як выдаліць Zaxar: пакрокавая інструкцыя
Дастаткова часта можна назіраць сітуацыі, калі карыстальнікі камп'ютэрных сістэм на аснове Windows раптам заўважаюць з'яўленне нейкай незразумелай праграмы пад назвай Zaxar Browser Game. Часам яна можа называцца проста Zaxar, Zaxa...
Чыць-коды на "the Sims 4" на цяжарнасць двайны, тройней, на хуткую цяжарнасць
«the Sims 4» - гэта чацвёртая частка легендарнай серыі кампутарных сімулятараў жыцця, у якіх вы можаце стварыць свайго ўласнага персанажа, а затым знаёміць яго з іншымі персанажамі, адпраўляць на працу, атрымліваць гро...
Драйверы для праграм і прылад: ўстаноўка і падтрыманне ў актуальным стане
Як вядома, драйверы для праграм і прылад, якія могуць быць задзейнічаны пры працы з сістэмнымі або карыстацкімі праграмамі, адносяцца да ключавых кампанентаў, без якіх камп'ютэрнае «жалеза», якім бы яно ні было суперсу...
У тым выпадку, калі Windows паведамляе вас аб слабым сігнале маршрутызатара Wi-Fi, гэта можа азначаць, што хуткасць злучэння занадта слабая і не адпавядае заяўленым ўзроўню. Яшчэ горш, калі ў якім-то месцы ў вашай кватэры ці офісе...
Як падключыць сканер да ноўтбука: парады для пачаткоўцаў
Падлучэнне перыферыйных прылад да кампутара - задача, з якой павінен спраўляцца кожны карыстальнік. Нават пачатковец юзэр перад працай са гэтак складанай машынай асвойвае дадзеныя навыкі. Усё часцей і часцей карыстальнікі цікавяцц...
Чаму ў "Скайпе" не чуваць суразмоўцы
У гэтым артыкуле будзе закранута тэма цяжкасцяў зносін у інтэрнэце. Часта здараюцца сітуацыі, калі дрэнна чуваць суразмоўцы ў "Скайпе". Прычын таму можа быць некалькі. Усе яны будуць разгледжаны ніжэй. І нашы парады змогуць дапама...
Заўвага (0)
Гэтая артыкул не мае каментароў, будзьце першым!