SQL INNER JOIN-uttalande: exempel, syntax och funktioner

Utvecklingen av en databas medför intebara skapande och fyllning av tabeller med en mängd olika uppgifter, men också vidarearbete med data. För korrekt utförande av olika uppgifter för att välja data från tabeller och generera rapporter används standard Select-konstruktionen.

sql inre föreningsexempel

Data hämtas från tabeller

Om vi ​​överväger problemet med att välja data ellerkonstruktionen av en viss rapport kan du bestämma komplexiteten i denna operation. Som regel gäller att när man arbetar med allvarliga databaser (på volymen av information), som exempelvis bildas i nätbutiker eller stora företag, kommer samplingen av data inte att begränsas till endast ett bord. Typiskt kan proven vara från ett ganska stort antal inte bara sammanlänkade tabeller, utan även de inbäddade frågorna / underfrågorna som programmeraren själv gör, beroende på den uppgift han tilldelats. För provtagning från ett bord kan du använda den enklaste designen:

Välj * från person

där person är namnet på tabellen för att välja data.

Om det finns behov av att välja data från flera tabeller, kan du använda en av standarddesignerna för att kombinera flera tabeller.

Sätt att ansluta ytterligare tabeller

Om vi ​​överväger användningen av sådana strukturer på grundnivå kan vi skilja mellan följande mekanismer för att koppla det nödvändiga antalet tabeller till provet, nämligen:

  1. Operator Inner Join.
  2. Vänster Gå med eller, detta är det andra sättet att spela in, Vänster Outer Join.
  3. Cross Join.
  4. Fullständig gå med.

Användningen av att ansluta operatörstabeller i praktiken kan läras genom att överväga användningen av operatören SQL - Inner Join. Ett exempel på dess användning kommer att se ut så här:

Välj * från person

Innerföreningen delas upp på Su_Person = Pe_ID

SQL-språket och operatören Join Join Join kan varaAnvänd inte bara att sammanfoga två eller flera tabeller, men också för att ansluta andra undersökningar, vilket underlättar databasadministratörernas arbete och som regel kan påskynda utförandet av vissa strukturellt komplexa frågor avsevärt.

Kombinera data i tabeller rad för rad

operatör sql inre ansluta exempel

Om du överväger att ansluta ett stort antal undersökningar och samla data till en enda tabell rad för rad, kan du också använda Union och Union All operatörer.

Tillämpningen av dessa konstruktioner kommer att bero på den uppgift som tilldelats utvecklaren och det resultat som han vill uppnå i slutändan.

Beskrivning av operatör Inner Join

I de flesta fall, för att slå samman fleratabeller i SQL använder operatören Inner Join. Beskrivningen av Inner Join i SQL är ganska enkel för en genomsnittlig programmerare att förstå, vilket bara börjar förstå databaserna. Om vi ​​betraktar beskrivningen av mekanismen för driften av denna konstruktion får vi följande bild. Operatörens logik som helhet är baserad på möjligheten att bara skärpa och samplera de data som finns i varje av tabellerna som kommer in i frågan.

Om vi ​​tittar på den här typen av arbete i form av grafisk tolkning får vi SQL Inner Gå operatörsstruktur, ett exempel på vilken kan visas genom följande schema:

sql syntax exempel

Till exempel har vi två tabeller, vars schemavisas i figuren. De har i sin tur ett annat antal poster. I varje tabell finns fält som är länkade ihop. Om du försöker förklara operatörens arbete baserat på figuren kommer det returnerade resultatet att vara i form av en uppsättning poster från två tabeller, där antalet relaterade fält sammanfaller. Enkelt uttryckt kommer frågan bara att returnera dessa poster (från tabell nummer två), uppgifter om vilka finns i tabellen nummer ett.

Syntax av Inner Join-operatör

Som tidigare nämnts, operatören Inner Join, ochDet är hans syntax som är ovanligt enkel. För att organisera länkar mellan tabeller inom ett prov kommer det att räcka till att komma ihåg och använda följande huvudschema för att bygga en operatör, som skrivs in i en rad i programmet SQL-kod, nämligen:

  • Inner Gå med i [Namn på bordet] på [nyckelfältet från bordet som vi ansluter till] = [Nyckelfält i den anslutna tabellen].

För kommunikation i denna operatör, huvuddelenbordstangenter. Som regel har den tidigare beskrivna personen och underavdelningen i minst en liknande post i tabellen som lagrar information om anställda. Så, låt oss ta en närmare titt på SQL Inner Join-uttalandet, ett exempel som visades lite tidigare.

Exempel och beskrivning av anslutning till ett enda tabellval

Vi har en personbord där vi lagrarInformation om alla anställda som arbetar i företaget. Observera att huvudnyckeln i denna tabell är fältet - Pe_ID. Bara på det och det kommer att bli en massa.

Den andra underavdelningen tabellen kommer att lagrasInformation om de enheter där anställda arbetar. Den är i sin tur kopplad till hjälp av fältet Su_Person med persontabellen. Vad säger det? Baserat på dataschemat kan man säga att avdelnings tabellen för varje post i Medarbetarbordet innehåller information om den avdelning där de arbetar. Det är för den här anslutningen att operatören Inner Join kommer att fungera.

För en mer begriplig användning, överväga SQL Inner Join-uttalandet (exempel på dess användning för ett och två tabeller). Om vi ​​betraktar ett exempel på ett bord, så är allt ganska enkelt:

Välj * från person

Innerföreningen delas upp på Su_Person = Pe_ID

Ett exempel på att ansluta två tabeller och en underfråga

sql och gå med i den medföljande operatören

SQL Inner Join operatör, användningsexempelvilken för val av data från flera tabeller kan organiseras som ovan, fungerar på en något mer komplicerad princip. För två tabeller komplicerar vi problemet. Till exempel har vi avgångstabellen, som lagrar information om alla avdelningar i varje avdelning. I denna tabell registreras avdelningsnummer och anställningsnummer, och datasamplet ska kompletteras med namnet på varje avdelning. Framöver är det värt att säga att två metoder kan användas för att lösa detta problem.

Det första sättet är att ansluta avdelningstabellen till provet. I så fall kan du ordna förfrågan på följande sätt:

Välj Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name från Person

Innerföreningen delas upp på Su_Person = Pe_ID

Innerföreningar Avsluta Su_Depart = Dep_ID och Pe_Depart = Dep_ID

Den andra metoden för att lösa problemet är att användasubquery, där inte alla data men endast nödvändiga data kommer att väljas från avdelningstabellen. Detta, i motsats till den första metoden, kommer att minska frågetiden.

Välj Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name från Person

Innerföreningen delas upp på Su_Person = Pe_ID

Innerförening (Välj Dep_ID, Dep_Name, Pe_Depart från Avgång) som T på Su_Depart = Dep_ID och Pe_Depart = Dep_ID

Det bör noteras att denna design inte alltid ärkan påskynda frågan. Ibland finns det fall då det är nödvändigt att använda ytterligare provtagning av data i den temporära tabellen (om volymen är för stor) och sedan kombineras den med huvudprovet.

Ett exempel på att använda operatören Inner Join för val från ett stort antal tabeller

Att bygga komplexa frågor innebär attanvänd för att välja data ett betydande antal tabeller och undersökningar relaterade till varandra. Dessa krav kan tillfredsställa SQL Inner Join-syntaxen. Exempel på användningen av operatören i detta fall kan vara komplicerat inte bara av prover från många datalagringsplatser, men också från ett stort antal inbäddade undersökningar. För ett visst exempel kan du ta ett urval av data från systemtabeller (Operatören Inner Join SQL). Ett exempel - 3 bord - i detta fall kommer att ha en ganska komplex struktur.

inre ansluta sql exempel 3 tabeller

I det här fallet läggs ytterligare tre till (till huvudtabellen) och flera data val villkor anges.

När du använder operatören Inner Join ärkom ihåg att ju mer komplexa frågan, ju längre den kommer att genomföras, så det är värt att leta efter sätt att snabbare genomföra och lösa uppgiften.

inre ansluta sql exempel 3 tabeller

slutsats

Till slut vill jag säga en sak: Att arbeta med databaser är inte det svåraste som finns i programmeringen, så om du vill absolut kan alla behärska kunskapen om att bygga databaser, och så småningom få erfarenhet, kommer du att kunna arbeta med dem på professionell nivå.

</ p>
gillade:
0
Relaterade artiklar
Syntax: hur ser det här avsnittet ut.
Oändlig för (Java) loop
Så här skriver du SQL-frågor - detaljerad
Coalesce sql: beskrivning, funktioner
MySQL JOIN: beskrivning, användningsexempel
Skriv omvandling. Round och Trunc funktioner
HAR SQL: beskrivning, syntax, exempel
Bensinstation: karriärmöjligheter
Datoroperatör
Populära inlägg
upp