Kompjutera, Programimi
Seksioni SQL INNER JOIN: shembuj, sintaksë dhe karakteristika
Zhvillimi i çdo baze të dhënash nënkupton jo vetëm krijimin dhe plotësimin e tabelave me një sërë informacionesh, por gjithashtu punojnë më tej me të dhënat. Për ekzekutimin e saktë të detyrave të ndryshme për përzgjedhjen e të dhënave nga tabela dhe gjenerimin e raporteve, përdoret konstruksioni standard i zgjedhjes.
Të dhënat marrin nga tabela
Nëse e konsideroni detyrën e përzgjedhjes së të dhënave ose të ndërtoni një raport të caktuar, mund të përcaktoni nivelin e kompleksitetit të këtij operacioni. Si rregull, kur punoni me baza të dhënash serioze (në vëllimin e informacionit), të cilat formohen, për shembull, në dyqanet online ose kompanitë e mëdha, marrja e mostrave nuk do të kufizohet vetëm në një tabelë. Në mënyrë tipike, mostrat mund të jenë nga një numër mjaft i madh jo vetëm i tabelave të ndërlidhura, por edhe të pyetjeve të ndërvarura / subqueries që vetë programuesi bën, në varësi të detyrës që i është caktuar. Për marrjen e mostrave nga një tabelë, mund të përdorni dizajnin më të thjeshtë:
| Zgjidhni * nga Personi |
Ku Personi është emri i tabelës nga e cila për të zgjedhur të dhënat.
Nëse ka nevojë të përzgjidhni të dhëna nga disa tabela, mund të përdorni një nga modelet standarde për të kombinuar disa tabela.
Mënyrat për të lidhur tryezat shtesë
Nëse marrim parasysh përdorimin e strukturave të tilla në nivelin fillestar, atëherë mund të dallojmë mekanizmat e mëposhtëm për lidhjen e numrit të nevojshëm të tabelave për mostrën, përkatësisht:
- Bashkangjitësi i Operatorit të Brendshëm.
- Bashkimi i majtë ose, kjo është mënyra e dytë e regjistrimit, Bashkimi i majtë i jashtëm.
- Kryqi bashkoj.
- Bashkojuni plotë.
Përdorimi i tabelave të operatorëve të bashkuar në praktikë mund të mësohet duke marrë parasysh përdorimin e operatorit SQL - Inner Join. Një shembull i përdorimit të tij do të duket kështu:
Zgjidhni * nga Personi Inner bashkohet nënndarje në Su_Person = Pe_ID |
Gjuha SQL dhe operatori Join Join Inner mund të përdoren jo vetëm për t'u bashkuar me dy ose më shumë tabela, por edhe për të lidhur subqueries tjera, të cilat në masë të madhe lehtësojnë punën e administratorëve të bazës së të dhënave dhe, si rregull, në mënyrë të konsiderueshme mund të përshpejtojnë ekzekutimin e disa pyetjeve të strukturuara.
Kombinimi i të dhënave në tavolina rresht për rresht
Nëse konsideroni lidhjen e një numri të madh të subqueries dhe grumbullimin e të dhënave në një rresht të vetëm tryezë nga rresht, ju gjithashtu mund të përdorni Bashkimin dhe Union All operatorët.
Zbatimi i këtyre projektimeve do të varet nga detyra e vendosur para zhvilluesit dhe rezultatin që ai dëshiron të arrijë në fund.
Përshkrimi i operatorit Inner Join
Në shumicën e rasteve, përdorni operatorin e lidhjes së brendshme për tu bashkuar me tavolina të shumta në SQL. Përshkrimi i lidhjes së brendshme në SQL është shumë e thjeshtë për një programues mesatar për të kuptuar, i cili po fillon të kuptojë bazat e të dhënave. Nëse marrim parasysh përshkrimin e mekanizmit të funksionimit të kësaj ndërtese, ne marrim figurën e mëposhtme. Logjika e operatorit në tërësi bazohet në mundësinë e ndërthurjes dhe marrjes së mostrave vetëm atyre të dhënave që ekzistojnë në secilën prej tabelave që janë përfshirë në kërkesë.
Nëse e konsiderojmë këtë punë nga këndvështrimi i interpretimit grafik, marrim strukturën e SQL Inner Join, një shembull i të cilit mund të tregohet me ndihmën e skemës së mëposhtme:
Për shembull, ne kemi dy tabela, diagrami i së cilës është treguar në figurë. Ata, nga ana tjetër, kanë një numër të ndryshëm të regjistrimeve. Në secilën prej tabelave ka fusha që janë të lidhura së bashku. Nëse përpiqeni të shpjegoni punën e operatorit në bazë të figurës, rezultati i kthyer do të jetë në formën e një grupi të të dhënave nga dy tabela, ku numrat e fushave të ngjashme përputhen. Ta themi thjesht, pyetja do të kthejë vetëm ato të dhëna (nga tabela numër dy), të dhënat e të cilave janë në tabelën numër një.
Sintaksa e operatorit të lidhjes së brendshme
Siç u përmend më herët, operatori i lidhjes së brendshme, përkatësisht sintaksa e tij, është jashtëzakonisht e thjeshtë. Për të organizuar lidhje midis tabelave brenda një mostre të vetme, do të jetë e mjaftueshme për të kujtuar dhe përdorur skemën kryesore të mëposhtme për ndërtimin e një operatori, i cili është shkruar në një rresht të programit SQL-kodi, përkatësisht:
- Lidhja e brendshme [emri i tabelës] në [fushë kyçe nga tabela në të cilën ne lidhemi] = [Fusha kryesore e tabelës së lidhur].
Për komunikim në këtë operator, përdoren çelësat kryesor të tabelave. Si rregull, në grupin e tabelave që ruajnë informacione rreth punonjësve, më parë të përshkruara Person dhe nënndarje kanë të paktën një rekord të ngjashëm. Pra, le të hedhim një vështrim më të afërt në deklaratën e bashkimit të SQL Inner, një shembull i të cilit u tregua pak më herët.
Shembull dhe përshkrimi i lidhjes me një përzgjedhje të tabelës së vetme
Ne kemi një tabelë të Personit që ruan informacionin për të gjithë punonjësit që punojnë në kompani. Vetëm vini re se çelësi kryesor i kësaj tryeze është fusha - Pe_ID. Vetëm në të dhe do të ketë një bandë.
Nënndarja e tabelës së dytë do të ruajë informacion në lidhje me departamentet në të cilat punonjësit punojnë. Ajo, nga ana tjetër, shoqërohet me ndihmën e fushës Su_Person me tabelën e Personit. Çfarë do të thotë kjo? Bazuar në skemën e të dhënave, mund të thuash që në tabelën e njësisë për secilën hyrje në tabelën e Punonjësve do të ketë informacion rreth departamentit në të cilin ata punojnë. Është për këtë lidhje që operatori i Bashkimit të Brendshëm do të punojë.
Për një përdorim më të kuptueshëm, merrni parasysh operatorin e lidhjes së brendshme SQL (shembuj të përdorimit të saj për një dhe dy tabela). Nëse marrim parasysh një shembull për një tabelë, atëherë gjithçka është mjaft e thjeshtë:
Zgjidhni * nga Personi Inner bashkohet nënndarje në Su_Person = Pe_ID |
Një shembull i lidhjes së dy tabelave dhe një subquery
Operatori i lidhjes së brendshme SQL, i cili mund të përdoret për të zgjedhur të dhënat nga disa tabela në mënyrën e mësipërme, punon në një parim pak më të komplikuar. Për dy tavolina, ne e komplikojmë problemin. Për shembull, ne kemi një tavolinë Depart, e cila ruan informacionin për të gjitha departamentet në çdo departament. Në këtë tabelë, numri i departamentit dhe numri i punonjësve regjistrohen dhe ju duhet të plotësoni mostrën e të dhënave me emrin e çdo departamenti. Duke parë përpara, vlen të përmendet se dy metoda mund të përdoren për të zgjidhur këtë problem.
Mënyra e parë është lidhja e tabelës së departamentit me mostrën. Në këtë rast, ju mund të organizoni pyetjen në këtë mënyrë:
Zgjidh Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name nga Personi Inner bashkohet nënndarje në Su_Person = Pe_ID Bashkimi i brendshëm Largohu nga Su_Depart = Dep_ID dhe Pe_Depart = Dep_ID |
Metoda e dytë e zgjidhjes së problemit është përdorimi i një nënkuptimi në të cilin jo të gjitha të dhënat, por vetëm të dhënat e kërkuara, do të përzgjidhen nga tabela e departamentit. Kjo, ndryshe nga metoda e parë, do të zvogëlojë kohën e pyetjeve.
Zgjidh Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name nga Personi Inner bashkohet nënndarje në Su_Person = Pe_ID Lidhja e brendshme (Zgjidh Dep_ID, Dep_Name, Pe_Depart nga Depart) si T on Su_Depart = Dep_ID dhe Pe_Depart = Dep_ID |
Vlen të përmendet se kjo dizajn nuk mund të përshpejtojë gjithmonë pyetjen. Ndonjëherë ka raste kur është e nevojshme të përdoren mostër shtesë të të dhënave në tabelën e përkohshme (nëse vëllimi i tyre është shumë i madh) dhe pastaj është e kombinuar me mostrën kryesore.
Shembull i përdorimit të operatorit të Lidhjeve të Brendshme për zgjedhje nga një numër i madh tabelash
Ndërtimi i pyetjeve komplekse përfshin përdorimin e një numri të konsiderueshëm të tabelave dhe nënqueries lidhur me njëri-tjetrin për të rifituar të dhënat. Këto kërkesa mund të kënaqin sintaksën e Bashkimit të Sinkron SQL. Shembuj të përdorimit të operatorit në këtë rast mund të komplikohen jo vetëm nga mostrat nga shumë vende të ruajtjes së të dhënave, por edhe nga një numër i madh i subqueries mbivendosur. Për një shembull të veçantë, mund të marrësh një mostër të të dhënave nga tabelat e sistemit (operatori i bashkuar i brendshëm SQL). Një shembull - 3 tabela - në këtë rast do të ketë një strukturë mjaft komplekse.
Në këtë rast, shtohen edhe tre (në tabelën kryesore) dhe futen disa kushte për përzgjedhjen e të dhënave.
Kur përdorni operatorin Inner Join, mos harroni se sa më komplekse të jetë kërkesa, aq më e gjatë do të implementohet, prandaj ia vlen të kërkoni mënyra për të kryer më shpejt dhe për të zgjidhur detyrën.
përfundim
Në fund, do të doja të them një gjë: puna me bazat e të dhënave nuk është gjëja më e vështirë që është në programim, kështu që nëse dëshironi absolutisht të gjithë mund të zotëroni njohuritë për ndërtimin e bazave të të dhënave, dhe përfundimisht, duke fituar përvojë, do të jeni në gjendje të punoni me ta në një nivel profesional .
Similar articles
Trending Now