Computers, Programmering
Operator SQL INNER JOIN: voorbeelden van syntax en functies
Het ontwikkelen van een database omvat niet alleen de creatie en het vullen van tabellen met verschillende gegevens, maar ook verder werken met de gegevens. Om correct uitvoeren van een verscheidenheid van taken naar keuze van gegevens uit tabellen en rapportage, gebruik dan de standaard Select design.
Gegevens ophalen van tabellen
Als we het probleem van de keuze van gegevens of de bouw van een rapport te overwegen, kunt u het niveau van complexiteit van de operatie te bepalen. In de regel, bij de behandeling van ernstige (volgens volume) databases, die worden gevormd, bijvoorbeeld in online winkels of grote bedrijven, data selectie is niet beperkt tot een enkele tabel. In de regel, kan het monster vanaf een vrij groot aantal niet alleen gekoppelde tabellen, maar ook genesteld queries / sub-queries, die de programmeur maakt, afhankelijk van de taak. Voor een voorbeeld van een tabel kan gebruik maken van de meest eenvoudige structuur:
| SELECT * FROM Persoon |
waar de persoon - de naam van de tabel waaruit u wilt ophalen van gegevens te maken.
Indien echter, moet u gegevens uit meerdere tabellen te selecteren, kan een van de standaard ontwerpen worden gebruikt om meerdere tafels te sluiten.
aansluiting van extra tafels Methods
Als we kijken naar het gebruik van dergelijke structuren op het eerste niveau, kunnen we de volgende mechanismen te onderscheiden om het vereiste aantal aan te sluiten voor het monster tafels, te weten:
- Operator Inner Join.
- Doe links of is de tweede opnamemethode, Left outer join.
- Kruis treedt.
- Volledige Deelnemen.
Operatoren gebruiken om tabellen in de praktijk te sluiten, kun je leren door te kijken naar het gebruik van de SQL-instructie - Inner Join. Een voorbeeld van het gebruik ervan zou zijn als volgt:
SELECT * FROM Persoon Inner join onderverdeling naar Su_Person = Pe_ID |
Taal SQL en Join inner join operator kan niet alleen worden gebruikt voor het combineren van twee of meer tafels, maar ook voor de andere sub-queries, die het werk van database administrators aanzienlijk vergemakkelijkt verbinden, en in de regel, kan een aanzienlijke versnelling van de uitvoering van specifieke, ingewikkelde vraag structuren.
Het combineren van gegevens in tabellen regel voor regel
Als we kijken naar de aansluiting van een groot aantal sub-query's en data verzameld in één tabel regel voor regel, kunt u ook de operators Unie en Union Alle gebruiken.
Het gebruik van deze structuren zal afhangen van de ontwikkelaar om de doelstellingen en de resultaten die hij wil bereiken op het einde in te stellen.
Beschrijving inner join operator
In de meeste gevallen om meerdere tabellen te combineren in de SQL-taal die gebruikt wordt door inner join operator. Beschrijving inner join in SQL is vrij eenvoudig om de gemiddelde programmeur die is net begonnen aan de databases te begrijpen te begrijpen. Als we kijken naar de beschrijving van het mechanisme van het werk van deze structuur, krijgen we het volgende beeld. De logische operator als geheel ligt aan een kruising en de mogelijkheid bemonsteren alleen de gegevens die in elk van de tabellen in de query.
Als we kijken naar dit soort werk op het gebied van grafische interpretatie, krijgen we SQL inner join operator structuur, waarvan een voorbeeld kan worden aangetoond door het volgende schema:
Zo hebben we twee tafels, schematisch weergegeven in de figuur. Zij op hun beurt, hebben een verschillend aantal inzendingen. In elk van de tafels hebben velden die gerelateerd zijn. Als we proberen om het werk van de exploitant aan de hand van de tekening uit te leggen, zal het geretourneerde resultaat een reeks records worden uit twee tafels, waar de kamers zijn met elkaar verbonden velden samenvallen. Simpel gezegd, de query alleen de records (in tabel nummer twee), waarvan de gegevens in de nummer een tafel.
De syntax van de inner join
Zoals eerder vermeld, de exploitant inner join, namelijk de syntax, buitengewoon eenvoudig. Voor de organisatie van relaties tussen tabellen binnen een enkel monster volstaat om te onthouden en gebruik de volgende schematische diagram van de constructie van de aandrijving, waarvan krachtens een enkele regel software SQL-code, te weten:
- Inner join [Table Name] op [een belangrijk gebied van de tafel waaraan verbinden] = [pluggable belangrijkste gebied van de tafel].
Voor de communicatie in deze verklaring wordt voornamelijk gebruikt tafels toetsen. In de regel, in de groep van tabellen die informatie op te slaan over werknemers, eerder beschreven persoon deelsector en ten minste een vergelijkbaar record. Dus, neem een kijkje de operator SQL inner join, waarvan een voorbeeld is een beetje eerder getoond.
VOORBEELD beschrijving en verbinding met de audio monstertafel
We hebben een persoon tafel, die informatie over alle werknemers in het bedrijf opgeslagen. Let wel dat de meester sleutel van de tabel is een veld - Pe_ID. Gewoon op en zal een bundel gaan.
De tweede tabel onderverdeling u informatie over de kantoren waarin medewerkers werken op te slaan. Zij, op haar beurt, is verbonden via Su_Person veld Person tafel. Wat betekent dit? Op basis van de gegevens schema kan worden gezegd dat in de tabel eenheden voor elke record in de tabel "Medewerkers" u informatie over de afdeling waar ze werken. Het is om deze communicatie en zal werken operator Inner Join.
Voor een meer intuïtief gebruik van rekening houden met de exploitant SQL Inner Join (voorbeelden van het gebruik ervan voor één of twee tabellen). Als we kijken naar het voorbeeld van dezelfde tafel, dan is het allemaal heel simpel:
SELECT * FROM Persoon Inner join onderverdeling naar Su_Person = Pe_ID |
Voorbeeld sluit de twee tabellen en subquery
Operator SQL inner join, waarvan voorbeelden gebruikt om gegevens ophalen uit meerdere tabellen kunnen worden aangebracht op de bovenstaande wijze, wordt aan een ongecompliceerd principe. Om de taak van de twee tafels bemoeilijken. Bijvoorbeeld, we hebben Depart tabel die informatie bevat over alle afdelingen in elk van de divisies. In deze tabel opgenomen verdelingsgetal en werknemer nummer, en moeten worden aangevuld met de naam van bemonsteringsgegevens van elke afdeling. Wat de toekomst betreft, is het de moeite waard te zeggen dat je op twee manieren kunt gebruiken om dit probleem op te lossen.
De eerste manier is om verbinding te maken de afdeling tafel om te proeven. Organiseer verzoek in deze zaak als volgt kunnen zijn:
Selecteer Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name van persoon Inner join onderverdeling naar Su_Person = Pe_ID Inner join Depart op Su_Depart = Dep_ID en Pe_Depart = Dep_ID |
De tweede methode voor het oplossen van het probleem - is om een subquery waarin niet alle gegevens zullen worden geselecteerd uit de afdeling tafel, maar alleen de noodzakelijke gebruiken. Dit is in tegenstelling tot de eerste methode, zal het de tijd van het verzoek terug te dringen.
Selecteer Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name van persoon Inner join onderverdeling naar Su_Person = Pe_ID Inner join (Select Dep_ID, Dep_Name, Pe_Depart van vertrek) als T op Su_Depart = Dep_ID en Pe_Depart = Dep_ID |
Het is vermeldenswaard dat een dergelijke regeling niet altijd kan versnellen het werk verzoek. Soms zijn er gevallen waarin het noodzakelijk is een extra voorbeeldgegevens gebruiken in een tijdelijke lijst (als het volume is te groot), en vervolgens werd gecombineerd met het hoofdmonster.
Toepassingsmogelijkheden inner join operator monsters uit een groot aantal tafels
De constructie omvat het gebruik van complexe queries voor het monster significante hoeveelheden gegevens tabellen en subqueries met elkaar verbonden. Deze eisen kunnen voldoen SQL Inner Join syntax. Voorbeelden van het gebruik van de operator, in casu kan worden bemoeilijkt niet alleen voorbeelden van de vele opslagplaatsen, maar ook een groot aantal geneste subqueries. Voor een concreet voorbeeld, kunt u gegevens uit een steekproef van het systeem tabellen te nemen (Inner Join SQL-instructie). Voorbeeld - 3 van de tabel - in dit geval zal een complexe structuur.
In dit geval verbonden (de primaire tabel) en drie andere verschillende data ingevoerd selectievoorwaarden.
Bij gebruik van de inner join operator moet niet vergeten dat hoe complexer de vraag, hoe langer het zal worden uitgevoerd, dus je moet zoeken naar manieren om sneller uit te voeren en het probleem op te lossen.
conclusie
Op het einde, wil ik één ding zeggen: werken met databases - het is niet het moeilijkste wat in de programmering, dus als je wilt zal elke persoon in staat om kennis te verwerven om een database te bouwen, en na verloop van tijd, ervaring op te doen, krijg je om te werken met hen op een professioneel niveau .
Similar articles
Trending Now