MySQL JOIN: en beskrivning, ett exempel på att använda kommandot och rekommendationerna

Utveckling av databaser med internetresurserskiljer sig praktiskt taget från standarddatabaser som utvecklats i MS SQL SERVER. Vanligtvis används MY-språk för sådana resurser, även om det även kan användas för att utveckla standardprogramvaruprodukter för lokal användning. Men den här artikeln handlar inte om detta.

mysql gå med

Ofta när man arbetar med databaser i var och en avspråk är uppgiften att göra ett urval av data för produktion i en rad rapporter, grafer och så vidare. Som regel är det nödvändigt att använda inte en, men flera tabeller, för att genomföra sådana uppgifter, och kombinera dem till en fråga, vilket väsentligt komplicerar dess konstruktion. Samtidigt är det nödvändigt att ta hänsyn till hur data kommer att utföras, hur tabellerna kommer att "dras upp" och vilket resultat som är mest acceptabelt för programmeraren. För att lösa sådana problem är en av standardkonstruktionerna i MySQL-språket anslutet.

Begreppet ordet Bli med

Databasutvecklingsspråk, det spelar ingen roll vad exaktDetta är språket, standardord från engelskspråkiga ordböcker används som grund (det är därför, förutsatt att du känner engelska, det blir mycket lättare för dig att arbeta med tabeller). För att genomföra anslutningen av tabeller i provet används samma ord - Bli medlem. I databasprogrammeringsspråket används My SQL. Översättningen av detta officiella ord är exakt detsamma som i själva språket - "förening".

Tolkning av MySQL-Join-konstruktionen, ochnågon av dem kommer att vara exakt densamma. Om vi ​​avkrypterar designformen, nämligen ordningen för dess operation, får vi följande mening: Konstruktionerna tillåter att samla de nödvändiga fälten från olika tabeller eller kapslade frågor till ett prov.

Typer av strukturer för föreningen

mysql gå med

Om programmeraren behöver samla ett prov frånflera tabeller och han vet vilka nyckelfält i dem och vilken typ av data som behövs för rapporten, då kan du använda en av grundkonstruktionerna i facket för att uppnå önskat resultat. De grundläggande konstruktionerna (för att ansluta tabeller) är fyra:

  1. Innerföreningen.
  2. Cross Join.
  3. Vänster gå med.
  4. Höger gå med

Beroende på uppgiften kommer varje standarddesign att ge olika resultat, vilket gör att du kan få rapporter om olika parametrar på kort tid.

Skapa och fylla tabeller för senare användning

Innan du börjar, tänk påmekanismer för att arbeta med dataförbund, är det värt att förbereda flera tabeller som vi kommer att fortsätta att arbeta med. Detta kommer att hjälpa visuellt visa alla operatörernas principer. Därför är nybörjare lättare att lära sig alla grunderna i programmeringstabellerna.

Den första tabellen beskriver några saker som en person ständigt möter under hela sitt liv.

mysql gå med

I den andra tabellen beskriver vi några egenskaper av föremål från den första tabellen, så att vi kan arbeta med dem i framtiden.

vänster gå med mysql

I allmänhet är två tabeller tillräckliga för att visa sitt arbete genom exempel. Nu kan du börja överväga våra mönster.

Använda Inner Join

När du använder MySQL-konstruktionen - Bli med Ineerdet är värt att överväga några av dess funktioner. Med denna design kan du välja från båda tabellerna bara de poster som finns i både första och andra tabellen. Hur fungerar det? I den första tabellen har vi huvudnyckeln - ID, vilket anger serienumret för poster i tabellen.

När du skapar den andra tabellen, samma nyckelAnvänds som ett serienummer, ett exempel kan ses i figurerna. När du väljer data, bestämmer operatören Endast de poster vars sekvensnummer är desamma, vilket innebär att de finns i både första och andra tabellen.

Vid användning av konstruktionen,vilka data det är nödvändigt att ta emot Det vanligaste misstaget, speciellt för en nybörjare databasprogrammerare, är den irrationella och felaktiga användningen av designen Inner Join. Som ett exempel, MySQL Inner Join, kan du överväga ett skript som kommer att återvända till oss från tidigare beskrivna och fyllda tabeller information om objekt och deras egenskaper. Men det kan finnas flera sätt att använda strukturen. I detta avseende är min SQL ett mycket flexibelt språk. Så, du kan överväga exempel på att använda MySQL Inner Join.

Kombinera tabeller utan att ange några parametrar. I det här fallet får vi resultatet av en sådan plan:

mysql inre föreningen

Om vi ​​anger genom verktyget Användning, använder detDet är nödvändigt att ta hänsyn till huvudnycklarna för poster i tabellerna, resultatet av urvalet förändras radikalt. I det här fallet får vi ett prov som bara returnerar de rader som har samma huvudnycklar.

mysql gå med i exempel

Ett tredje alternativ är också möjligtkonstruktioner, när i frågan används ordet "på" för att ange de fält där tabellerna ska förenas. I detta fall kommer provet att returnera följande data:

mysql gå med välj

Funktioner av användningen av vänster Join

Om vi ​​betraktar ett annat sätt att kombinera tabeller som använder MySQL struktur - Gå, kan man märka en skillnad i data, som sänds ut. Denna mekanism är den vänstra konstruktionen.

Med hjälp av Konfigureringen Vänster ansluta har MySQL vissa funktioner och, som Inner, kräver en tydlig förståelse för resultatet som ska erhållas.

I det här fallet kommer alla poster att väljas förstfrån den första tabellen, och senare kommer de att fästas till poster från den andra fastighetsbordet. I det här fallet, om det finns en post, till exempel "pallen" i den första tabellen och den andra tabellen är inga egenskaper det den vänstra operatörs visar framför ingången till noll, som berättar programmerare som tecken på detta ämne inte hörs .

Med hjälp av denna design kan du bestämma vilka fält eller till exempel varor i affären inte exponeras för pris, garantiperiod och så vidare.

Vänster exempel

Att överväga i praktiken operatörenVänster Gå med MySQL använder de tidigare beskrivna tabellerna. Du måste till exempel välja hela listan över produkter som finns i butiken och kontrollera vilka av dem inte är markerade med tecken eller egenskaper. I det här fallet kommer provet att visa alla produkter på skärmen, och för de som inte har en egenskap kommer tomma värden att visas.

mysql uppdatering gå med

Använda Where i Join-konstruktionen

Som en parameter kan ett sammanhang inte bara innehålla de fält som du vill ansluta tabeller till, men kan också inkludera operatören Where-klausul.

Tänk på exempel ett skript som skaÅtergå till oss endast de register som ingen tecken visas på. I det här fallet måste du i Add-konstruktionen lägga till ett villkorstillstånd och ange vad exakt du vill returnera som ett resultat.

När det används i MySQL Join - Where måste du tydligt förstå att endast de register som det angivna villkoret gäller kommer att visas och urvalet kommer då att se ut så här:

mysql gå med var

Sådana förfrågningar gör att du kan provaSpecifika data som avser det villkor som programmeraren valt. Det finns flera sådana villkor, men samtidigt anger parametrarna för datavalning från de sammanfogade tabellerna.

Använda Bli medlem för att ändra data i tabeller

The Join-konstruktionen är i själva verket universell. Det gör att du inte bara göra en mängd olika prover, men också ansluta till förfrågningar från en till flera tabeller, att införa ytterligare villkor i ett prov. Designen kan också användas för annan dataoperation. Så, Join kan användas för att ändra data i en tabell. Eller snarare, att klargöra villkoren i tabellen, eller i de fall där det är nödvändigt att uppdatera data i flera tabeller på samma villkor.

Tänk på detta problem. Tre tabeller ges där det finns några data. Du måste göra en ändring av data i båda tabellerna med hjälp av en fråga. Bara för att lösa denna typ av uppgifter kan du använda kommandot Bli med i Uppdatera-kommandot. Typen av Join-konstruktionen beror, precis som vid datahämtning, på resultatet som programmeraren vill få.

Låt oss överväga det enklaste exemplet. Du måste uppdatera samma fråga för samma villkor. Sådana frågor är byggda för att optimera arbetet med databasen. Varför skriva olika frågor för varje tabell, om du kan utföra alla manipuleringar av data med en fråga? Exempel på MySQL Update Join i vårt fall kommer att vara:

mysql lämnade med sig exempel

Bygga komplexa frågor

Ganska ofta när man arbetar med en databasDet är nödvändigt att bygga frågor inte bara med sammanslagningen av flera tabeller, men också med användning av undersökningar. Sådana uppgifter är ganska svåra för att förstå en nybörjare databasprogrammerare. Svårigheten är att du måste tänka igenom varje steg, bestämma vilken data från vilken tabell eller fråga du behöver och hur du kommer att behöva arbeta med dem i framtiden.

För en mer konkret förståelse,(i MySQL Join) exempel på komplexa frågor. Om du är nybörjare och bara börjar jobba med databaser, kommer en sådan träning bara att gynna. Det perfekta alternativet kommer att vara MySQL Left Join-exempel.

vänster gå med mysql

Denna förfrågan ger oss 58 kontraktsuppgifterFörsäljning, för vilken saldot av medel för det valda datumet är fyllt eller finns. I detta fall är detta det aktuella datumet. Också i provet sattes villkoret att kontraktets namn skulle innehålla symboler "123". Information som visas på skärmen (data) sorteras - beställning enligt kontraktsnummer.

Följande exempel visar detaljerna för alla betalningar där kontraktsnumret anges.

mysql gå med

Använda Subqueries

Som tidigare nämnts, när man arbetar med databaserdu kan kombinera inte bara tabeller, men också ett bord med en fråga. Denna design används huvudsakligen för att påskynda frågan och optimera den.

Till exempel, om det behövs från ett bord somhar flera hundra fält och t ex tusen poster, välj endast två fält, då ska du använda en fråga som bara returnerar de obligatoriska fälten och sammanfogar den med huvuddataprön. Som ett exempel på MySQL Join Select kan du överväga en fråga av denna typ:

mysql gå med

Det är inte alla sätt att använda standardenMySQL konstruerar, men bara standardiserade. Sättet att använda Join-konstruktionen och i vilken form det är, bestämmer programmeraren själv, men det är värt att komma ihåg och ta hänsyn till vilket resultat som ska erhållas när frågan exekveras.

</ p>
gillade:
0
Relaterade artiklar
SQL INNER JOIN-uttalande: exempel, syntax
Många till många relationer: ett exempel i Access, in
Hur fungerar MySQL-installationen?
Starbound: konsolkommandon
Assembler - Kommandon för nybörjare
MySQL-replikering. Kort utflykt
Så här skapar du en Lineage 2-server
DBMS är ett datahanteringssystem
MySQL - vad är det? MySQL-fel
Populära inlägg
upp