MySQL JOIN: beskrivning, exempel på att använda kommandot och rekommendationer

Utveckling av databaser med internetresurserskiljer sig praktiskt taget från standarddatabaser som utvecklats i MS SQL SERVER-systemet. I regel används MY SQL för sådana resurser, även om den kan tillämpas på utveckling av standardprogramvaror för lokal användning. Men den här artikeln handlar inte om det.

mysql gå med

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

Begreppet ordet Bli med

Databasutvecklingsspråk, oavsett vadDet är för språket, standardord från engelskspråkiga ordböcker tas som utgångspunkt (det är därför, förutsatt att du känner engelska, det blir mycket lättare att arbeta med tabeller). För att genomföra anslutningen av tabeller tas samma ord i provet - Gå med. I ett databasprogrammeringsspråk används My SQL. Översättningen av detta officiella ord är exakt samma som i själva språket - "union".

Tolkning av MySQL-konstruktionen - Gå med ochnågon av dessa kommer att vara exakt densamma. Om du deklarerar strukturens syfte, nämligen ordningen för dess arbete, så erhåller vi följande värde: strukturen tillåter att samla de nödvändiga fälten från olika tabeller eller undersökningar till ett prov.

Typer av strukturer att kombinera

mysql gå med

Om programmeraren behöver samla ett prov avflera tabeller och han vet vilka nyckelfält i dem och vilka data som behövs för rapporten, då kan du använda en av unionens huvudstrukturer för att uppnå önskat resultat. Det finns fyra huvudkonstruktioner (för att kombinera tabeller):

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

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

Skapa och fylla tabeller för framtida användning.

Innan du börjar, tänk påmekanismer för att arbeta med data federation konstruktioner, är det värt att förbereda flera tabeller som vi kommer att fortsätta att arbeta med. Detta kommer att bidra till att visuellt visa alla operatörernas principer. På så sätt kan nybörjare lättare förstå alla grunderna för programmeringstabeller.

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 första bordet så att vi kan arbeta med dem i framtiden.

vänster gå med mysql

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

Använda Inner Join

När du använder byggandet av MySQL - Gå 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 tabeller. Hur fungerar det? I den första tabellen har vi ett huvudnyckel - ID, vilket anger ordinarie antal poster i tabellen.

När du skapar den andra tabellen, samma nyckelanvänds som ett sekvensnummer kan ett exempel ses i figurerna. Vid val av data bestämmer operatören Select endast de poster som följd, vars sekvensnummer sammanfaller, vilket betyder att de ligger i den första och andra tabellen.

När du använder designen behöver du förståvilken typ av data du behöver få. Det vanligaste misstaget, speciellt för en nybörjare databasprogrammerare, är den irrationella och felaktiga användningen av Inner Join-konstruktionen. Som ett exempel, MySQL Inner Join, kan vi överväga ett skript som kommer att returnera information om objekt och deras egenskaper från de tidigare beskrivna och fyllda tabellerna. Men det kan finnas flera sätt att använda designen. I detta avseende är My 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 tjänsteordet Använd, detdet är nödvändigt att ta hänsyn till huvudnycklarna för poster i tabellerna, då kommer resultatet av urvalet att förändras dramatiskt. I det här fallet får vi ett prov som returnerar endast de rader som har samma masterknappar.

mysql gå med i exempel

Ett tredje användningsfall är också möjligt.konstruktioner, när i frågan via ordet "on" anges, enligt vilka tabellerna ska förenas. I detta fall kommer provet att returnera följande data:

mysql gå med välj

Funktioner för att använda Vänster Join

Om vi ​​överväger ett annat sätt att gå med i tabeller med MySQL-Join-konstruktionen, kan du märka skillnaden i data som utmatas. Denna mekanism är uppbyggnaden av vänster.

Med hjälp av den vänstra anslutningskonstruktionen har MySQL vissa funktioner och, som Inner, kräver en klar förståelse av resultatet som ska erhållas.

I det här fallet väljs alla poster först.från den första tabellen, och senare kommer de att anslutas till posterna från den andra fastighetsbordet. Samtidigt, om den första tabellen har en post, till exempel "pall", och den andra tabellen inte har några egenskaper för den, kommer den vänstra operatören att mata ut null motsatt den här posten, vilket berättar programmeraren att det inte finns några tecken på denna typ av objekt .

Med hjälp av denna design kan du bestämma vilka fält eller till exempel varorna i affären inte är prissatta, garantiperioden och så vidare.

Vänster användning fall

För överväganden i praktiken av operatörenVänster Bli med MySQL-konstruktioner använd de tidigare beskrivna tabellerna. Låt oss säga att du måste välja hela listan över produkter som finns i butiken och kontrollera vilka av dem som inte är markerade tecken eller egenskaper. I det här fallet kommer provet att visa alla produkter, och för de som inte har en egendom kommer tomma värden att anges.

mysql uppdatering gå med

Använda var i en anslutning

Som en parameter kan ett deltagare inte bara ange de fält där tabellerna ska anslutas, men det kan också inkludera operatören Where.

Tänk på exempel på det manus som skareturnera till oss bara de register som inte är markerade. I det här fallet måste du lägga till ett tillståndsförklaring till Join Construction och ange vad exakt ska returneras som ett resultat.

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

mysql gå med var

Sådana frågor låter dig göra prover avspecifika data som avser det villkor som programmeraren valt. Du kan ange flera av dessa villkor, samtidigt som parametrarna för val av data optimeras från de kombinerade tabellerna.

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

Konstruktionen av Join är väsentligen universell. Det gör det inte bara möjligt att göra olika val, men också att inkludera i frågor från en till flera tabeller, för att införa ytterligare villkor i urvalet. Designen kan också användas för annan dataoperation. Så, Join kan användas för att ändra data i en tabell. I stället för att klargöra villkoren i tabellen eller i de fallen, om du behöver uppdatera data i flera tabeller på samma villkor.

Tänk på detta problem. Det finns tre tabeller där det finns några data. Det är nödvändigt att ändra data i båda tabellerna med en enda fråga. Bara för att lösa denna typ av uppgifter kan du använda kommandot Join i Update-kommandot. Konstruktionstypen beror, precis som i fråga om dataprovtagning, om resultatet som programmeraren vill få.

Tänk på det enklaste exemplet. Det är nödvändigt att uppdatera data med en begäran på 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 med data i en fråga? Ett exempel på MySQL Update Join i vårt fall skulle 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 fackföreningen av flera tabeller, men också med användning av undersökningar. Sådana uppgifter är ganska svåra för en nybörjare databasprogrammerare att förstå. 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 specifik förståelse kan du överväga(i MySQL Join) exempel på komplexa frågor. Om du är nybörjare och bara börjar arbeta med databaser, kommer en sådan träning bara att gynna. Det perfekta alternativet skulle vara MySQL Left Join exempel.

vänster gå med mysql

Denna förfrågan ger oss 58 kontraktsrekordFörsäljning för vilken kontantbalansen på det valda datumet är fyllt eller existerar. I detta fall är detta det aktuella datumet. Också ett villkor har lagts till i provet att kontraktets titel ska innehålla symbolerna - "123". Informationen (data) som visas på skärmen sorteras - beställd enligt kontraktsnummer.

Följande exempel visar uppgifter om alla betalningar där kontraktsnumret kommer att anges.

mysql gå med

Använda undersökningar

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

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

mysql gå med

Dessa är inte alla användningar av standardMySQL konstruerar, men bara standardiserade. Hur man använder Join-strukturen och i vilka former det 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 sökningen görs.

Relaterade nyheter