/ / MySQL JOIN: descrizione, esempio di utilizzo del comando e consigli

MySQL JOIN: descrizione, esempio di utilizzo dei comandi e raccomandazioni

Sviluppo di database di risorse Internetpraticamente non differisce dai database standard sviluppati nel sistema MS SQL SERVER. Di norma, per questo tipo di risorse viene utilizzato il linguaggio MY SQL, ma può essere applicato anche allo sviluppo di prodotti software standard per uso locale. Ma questo articolo non parla di questo.

mysql join

Spesso quando si lavora con i database in ciascuno dilingue, il compito è quello di creare un campione di dati per l'output in una varietà di report, grafici e così via. Di norma, quando si implementano tali attività, è necessario utilizzare non una, ma diverse tabelle, combinandole in un'unica query, complicandone notevolmente la progettazione. In questo caso è necessario tenere conto di come verranno visualizzati i dati, di come verranno "tirate su" le tabelle e di quale risultato sarà il più accettabile per il programmatore. Uno dei costrutti standard del linguaggio MySQL, Join, viene utilizzato per risolvere tali problemi.

Il concetto della parola Join

Linguaggi di sviluppo di database, non importa qualequesta è la lingua, le parole standard dei dizionari di lingua inglese sono prese come base (ecco perché, a condizione che tu conosca l'inglese, sarà molto più facile per te lavorare con le tabelle). Per implementare la connessione delle tabelle nella selezione, viene presa la stessa parola - Join. Nel linguaggio di programmazione del database viene utilizzato My SQL. La traduzione di questa parola di servizio è esattamente la stessa della lingua stessa: "unione".

Interpretazione della costruzione MySQL - Join, eognuno di loro sarà esattamente lo stesso. Se decifriamo lo scopo della struttura, ovvero lo schema del suo funzionamento, otteniamo il seguente significato: le strutture consentiranno di raccogliere i campi necessari da diverse tabelle o query nidificate in un'unica selezione.

Tipi di strutture per combinare

mysql join

Se un programmatore ha bisogno di raccogliere un campione dadiverse tabelle e sa quali campi chiave sono contenuti in esse e che tipo di dati sono necessari per il report, quindi è possibile utilizzare uno dei costrutti di unione di base per ottenere il risultato desiderato. Ci sono quattro costrutti di base (per unire le tabelle):

  1. Unione interna.
  2. Unione incrociata.
  3. Unisciti a sinistra.
  4. Unisciti a destra.

A seconda dell'attività da svolgere, ciascuno dei progetti standard darà risultati diversi, che ti permetteranno di ricevere rapporti su parametri diversi in breve tempo.

Creazione e compilazione di tabelle per ulteriori utilizzi

Prima di iniziare, ad esempio, considerameccanismi per lavorare con i costrutti di unione dati, vale la pena preparare diverse tabelle con cui lavoreremo in futuro. Ciò aiuterà a mostrare visivamente tutti i principi di funzionamento degli operatori, inoltre, in questo modo, è più facile per i principianti apprendere tutte le basi delle tabelle di programmazione.

La prima tabella descriverà alcuni degli oggetti che una persona incontra costantemente durante la sua vita.

mysql join

Nella seconda tabella, descriveremo alcune proprietà degli oggetti della prima tabella in modo che tu possa lavorare con loro in futuro.

sinistra unisciti a mysql

In generale, due tabelle saranno sufficienti per illustrare il loro lavoro con l'esempio. Ora puoi iniziare un esame pratico dei nostri progetti.

Utilizzo dell'unione interna

Quando si utilizza il costrutto MySQL - Unisciti a Ineervale la pena considerare alcune delle sue caratteristiche. Questo design ti consentirà di selezionare da entrambe le tabelle solo i record che si trovano nella prima e nella seconda tabella. Come funziona? Nella prima tabella, abbiamo una chiave principale - ID, che indica il numero ordinale di record nella tabella.

Quando si crea una seconda tabella, la stessa chiaveviene utilizzato come numero di serie, un esempio è visibile nelle figure. Quando si selezionano i dati, l'istruzione Select determinerà come risultato solo quei record i cui numeri di sequenza coincidono, il che significa che si trovano sia nella prima che nella seconda tabella.

Quando usi la costruzione, devi capireche tipo di dati devi ottenere. L'errore più comune, soprattutto per un programmatore di database alle prime armi, è l'uso irrazionale e scorretto del costrutto Inner Join. Ad esempio, MySQL Inner Join, puoi considerare uno script che ci restituirà dalle tabelle precedentemente descritte e compilate informazioni sugli oggetti e le loro proprietà. Ma anche qui ci possono essere diversi modi per utilizzare la struttura. A questo proposito, My SQL è un linguaggio molto flessibile. Quindi, puoi guardare esempi di utilizzo di MySQL Inner Join.

Concatenazione di tabelle senza specificare alcun parametro. In questo caso, otterremo il risultato di un tale piano:

mysql inner join

Se indichiamo tramite la parola di servizio Utilizzo cheè imperativo prendere in considerazione le chiavi principali dei record nelle tabelle, quindi il risultato della selezione cambierà drasticamente. In questo caso, otterremo una selezione che restituirà solo quelle righe che hanno le stesse chiavi principali.

esempi di join mysql

È anche possibile un terzo caso d'uso.costruzioni, quando nella query tramite la parola "on" vengono indicati i campi con cui devono essere unite le tabelle. In questo caso, la selezione restituirà i seguenti dati:

mysql join seleziona

Caratteristiche dell'utilizzo di Left Join

Se consideri un altro modo per unire le tabelle utilizzando il costrutto MySQL - Join, puoi notare la differenza nei dati visualizzati. Il costrutto di sinistra è un tale meccanismo.

Usare il Left Join MySQL ha alcune peculiarità e, come Inner, richiede una chiara comprensione del risultato che si vuole ottenere.

In questo caso, tutti i record verranno selezionati per primi.dalla prima tabella e successivamente verranno allegati i record della seconda tabella delle proprietà. Allo stesso tempo, se la prima tabella contiene un record, ad esempio "stool", e la seconda tabella non ha una singola proprietà per essa, l'operatore Left visualizzerà null davanti a questo record, il che indica al programmatore che non ci sono indicazioni per questo tipo di oggetto...

L'uso di questo design ti consentirà di determinare in base a quali campi o, ad esempio, le merci nel negozio non hanno un prezzo, il periodo di garanzia e così via.

Esempio di utilizzo di Left

Per considerazioni pratiche dell'operatorei costrutti Left Join MySQL utilizzano le tabelle precedentemente descritte. Ad esempio, è necessario selezionare l'intero elenco di prodotti che si trovano nel negozio e verificare per quali di essi non sono presenti segni o proprietà. In questo caso, la selezione visualizzerà tutti i prodotti e verranno impostati valori vuoti per quelli che non hanno una proprietà.

unisciti all'aggiornamento di mysql

Utilizzo di Where in una clausola Join

Come parametro, un join può includere non solo la specifica dei campi mediante i quali connettere le tabelle, ma può anche includere un operatore di clausola Where.

Ad esempio, considera uno script che dovrebbedi restituirci solo quelle registrazioni per le quali il segno non è apposto. In questo caso, è necessario aggiungere un operatore di condizione alla costruzione Join e specificare esattamente cosa deve essere restituito come risultato.

Quando si utilizza Join - Where in MySQL, è necessario comprendere chiaramente che verranno mostrati solo quei record a cui si applica la condizione specificata, quindi la selezione sarà simile a questa:

mysql unisciti dove

Tali query consentono di effettuare selezioni perdati specifici relativi alla condizione selezionata dal programmatore. È possibile specificare diverse condizioni di questo tipo, massimizzando i parametri per la selezione dei dati dalle tabelle combinate.

Utilizzo di Join per modificare i dati nelle tabelle

Il costrutto Join è essenzialmente universale.Ti consente non solo di effettuare una varietà di selezioni, ma anche di includere nelle query da una a più tabelle, per inserire condizioni aggiuntive nella selezione. Il costrutto può essere utilizzato anche per altre operazioni sui dati. Ad esempio, Join può essere utilizzato per modificare i dati in una tabella. Piuttosto, per chiarire le condizioni nella tabella o nei casi in cui è necessario aggiornare i dati in più tabelle per le stesse condizioni.

Si consideri ad esempio il seguente problema.Ci sono tre tabelle che contengono alcuni dati. È necessario modificare i dati in entrambe le tabelle utilizzando una query. Proprio per risolvere questo tipo di attività, puoi usare il costrutto Join nel comando Update. Il tipo di costruzione stessa del Join dipende, come nel caso del campionamento dei dati, dal risultato che il programmatore vuole ottenere.

Diamo un'occhiata all'esempio più semplice.È necessario aggiornare i dati per le stesse condizioni con una richiesta. Le query di questo tipo sono costruite per ottimizzare il lavoro con il database. Perché scrivere query diverse per ciascuna tabella quando puoi eseguire tutta la manipolazione dei dati con una query? Un esempio di MySQL Update Join nel nostro caso sarà così:

esempi di join sinistro di mysql

Costruire query complesse

Abbastanza spesso quando si lavora con un databaseè necessario costruire query non solo unendo più tabelle, ma anche utilizzando sottoquery. Tali attività sono piuttosto difficili da comprendere per un programmatore di database alle prime armi. La difficoltà sta nel fatto che devi riflettere su ogni passaggio, determinare quali dati da quale tabella o query devi ottenere e come dovrai lavorarci in futuro.

Per una comprensione più specifica, puoi considerare(in MySQL Join) esempi di query complesse. Se sei un principiante e stai appena iniziando a lavorare con i database, tale formazione ne trarrà beneficio. L'opzione ideale sarebbero gli esempi di MySQL Left Join.

sinistra unisciti a mysql

Questa richiesta ci restituirà 58 record di contrattovendite per le quali un saldo di cassa è stato riempito o esiste alla data selezionata. In questo caso, questa è la data corrente. Inoltre, è stata aggiunta una condizione alla selezione che il nome del contratto deve contenere simboli - "123". Le informazioni (dati) visualizzate sullo schermo verranno ordinate - ordinate per numero di contratto.

L'esempio seguente visualizzerà i dati su tutti i pagamenti, in cui verrà indicato il numero di contratto.

mysql join

Utilizzo delle sottoquery

Come accennato in precedenza, quando si lavora con i databasedati, puoi combinare non solo tabelle, ma anche una tabella con una query. Questo design viene utilizzato principalmente per velocizzare la query e ottimizzarla.

Ad esempio, se necessario da una tabella cheha diverse centinaia di campi e, diciamo, un migliaio di record, seleziona solo due campi, quindi dovresti usare una query che restituirà solo i campi richiesti e combinarlo con il set di dati principale. Come esempio di MySQL Join Select, puoi considerare una query di questo tipo:

mysql join

Questi non sono tutti modi per utilizzare lo standardCostrutti MySQL, ma solo quelli standard. Come utilizzare la costruzione Join e in quali forme spetta al programmatore stesso, ma vale la pena ricordare e tenere in considerazione quale risultato dovrebbe essere ottenuto durante l'esecuzione di una query.