774 Shares 7445 views

Operatore SQL INNER JOIN: esempi di sintassi e le caratteristiche

Lo sviluppo di qualsiasi database include non solo la creazione e il riempimento delle tabelle con le varie informazioni, ma anche un ulteriore lavoro con i dati. Per eseguire correttamente una serie di attività a scelta dei dati da tabelle e report, utilizzare il disegno Seleziona standard.

Recuperare i dati dalle tabelle

Se consideriamo il problema della scelta dei dati o la costruzione di un rapporto, è possibile determinare il livello di complessità dell'operazione. Come regola generale, quando si tratta di gravi (secondo volume) basi di dati, che sono formate, per esempio, nei negozi online o di rilevanti dimensioni, la selezione dei dati non si limita a una singola tabella. Come regola generale, il campione può essere da un gran numero di tavoli non solo collegate, ma anche nidificati query / sub-query, il che rende il programmatore, a seconda del suo compito. Per un esempio di una tabella può utilizzare la struttura più semplice:

Select * from persona

dove Person – nome della tabella da cui si desidera effettuare il recupero dei dati.

Se, tuttavia, sarà necessario selezionare i dati da più tabelle, uno dei disegni standard può essere utilizzato per unire più tabelle.

che collega i metodi tabelle aggiuntive

Se si considera l'uso di tali strutture a livello elementare, si possono distinguere i seguenti meccanismi per collegare il numero richiesto per le tabelle campione, vale a dire:

  1. Operatore Inner Join.
  2. LEFT JOIN o, è il secondo metodo di registrazione, Sinistra outer join.
  3. Cross join.
  4. Pieno Partecipa.

Uso di operatori per unire le tabelle, in pratica, si può imparare prendendo in considerazione l'uso di SQL – Inner Join. Un esempio del suo uso sarebbe la seguente:

Select * from persona

Inner join Suddivisione su Su_Person = Pe_ID

SQL Linguaggio e registrazione Inner Join operatore può essere utilizzato non solo per la combinazione di due o più tabelle, ma anche per collegare gli altri sub-query, che facilita notevolmente il lavoro degli amministratori di database, e, di regola, in grado di accelerare in modo significativo l'attuazione di specifiche strutture di query complesse.

La combinazione di dati in linea tabelle per riga

Se consideriamo il collegamento di un gran numero di sub-query e dati raccolti in una sola riga della tabella per riga, è possibile utilizzare anche l'Unione operatori e Union Tutti.

L'uso di queste strutture dipenderà lo sviluppatore per impostare obiettivi e ai risultati che vuole raggiungere, alla fine.

Descrizione Inner Join operatore

Nella maggior parte dei casi, per combinare più tabelle nel linguaggio SQL utilizzato da INNER JOIN operatore. Descrizione Inner Join in SQL è abbastanza facile da capire il programmatore medio che sta appena iniziando a capire le basi di dati. Se consideriamo la descrizione del meccanismo del lavoro di questa struttura, si ottiene l'immagine seguente. L'operatore logico nel suo complesso è costruito sul passaggio e la possibilità di campionamento solo i dati che è in ognuna delle tabelle incluse nella query.

Se guardiamo a questo tipo di lavoro in termini di interpretazione grafica, otteniamo SQL Inner Join struttura operatore, di cui un esempio può essere mostrato dal seguente schema:

Ad esempio, abbiamo due tavoli, mostrati schematicamente in figura. Essi, a loro volta, hanno un diverso numero di voci. In ciascuna delle tabelle hanno campi che sono correlati. Se cerchiamo di spiegare il lavoro dell'operatore, sulla base del disegno, il risultato restituito sarà un insieme di record da due tabelle, dove le camere sono campi interconnessi coincidono. In poche parole, la query restituisce solo i record (nella tabella numero due), i cui dati nella tabella numero uno.

La sintassi del Inner Join

Come accennato in precedenza, l'operatore Inner Join, vale a dire, la sua sintassi, insolitamente semplice. Per l'organizzazione di relazioni tra tabelle in un singolo campione sarà sufficiente ricordare e utilizzare il seguente schema di costruzione dell'operatore, che è prescritto in una singola linea di software SQL-code, vale a dire:

  • INNER JOIN [Nome tabella] su [un campo chiave della tabella a cui collegare] = [campo chiave pluggable della tabella].

Per la comunicazione in questa informativa è tasti tavoli principalmente usati. Come regola generale, nel gruppo di tabelle che memorizzano le informazioni sui dipendenti, precedentemente descritto persona Suddivisione e hanno almeno un record simile. Quindi, prendete uno sguardo più attento l'operatore SQL Inner Join, di cui un esempio è stato mostrato un po 'prima.

Descrizione ESEMPIO e connessione alla tabella campione audio

Abbiamo un tavolo una persona, che memorizza le informazioni su tutti i dipendenti che lavorano in azienda. Basta notare che la chiave master della tabella è un campo – Pe_ID. Proprio su di esso e andrà un fascio.

La seconda suddivisione tavolo memorizzerà le informazioni sulle sedi in cui i dipendenti lavorano. Lei, a sua volta, è collegato attraverso campo Su_Person tabella Person. Che cosa significa questo? Sulla base dello schema di dati si può dire che nelle unità di tabella per ogni record nella tabella "Employees" sarà informazioni sul dipartimento in cui lavorano. E 'per questa comunicazione e lavorerà operatore Inner Join.

Per un uso più intuitivo di considerare l'operatore SQL Inner Join (esempi del suo uso per uno o due tavoli). Se consideriamo l'esempio della stessa tabella, quindi tutto è molto semplice:

Select * from persona

Inner join Suddivisione su Su_Person = Pe_ID

ESEMPIO collegare le due tabelle e subquery

Operatore SQL Inner Join, esempi dei quali sono utilità per recuperare i dati da più tabelle possono essere organizzati in modo sopra, si sta lavorando su una piccola complicazione di principio. A complicare il compito delle due tabelle. Ad esempio, abbiamo tabella di Partenza che memorizza le informazioni su tutti i servizi in ciascuna delle divisioni. In questa tabella registrata numero della divisione e il numero dei dipendenti, e deve essere completata con il nome di dati campione di ogni reparto. Guardando al futuro, vale la pena di dire che è possibile utilizzare due metodi per risolvere questo problema.

Il primo modo è quello di collegare la tabella dipartimento a campione. Organizzare richiesta in questo caso può essere la seguente:

Selezionare Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name da persona

Inner join Suddivisione su Su_Person = Pe_ID

Inner join Partenza Su_Depart = Dep_ID e Pe_Depart = Dep_ID

Il secondo metodo per risolvere il problema – è quello di utilizzare una sottoquery in cui non tutti i dati saranno selezionati dalla tabella dipartimento, ma solo il necessario. Ciò è in contrasto con il primo metodo, si riduce il tempo della richiesta.

Selezionare Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name da persona

Inner join Suddivisione su Su_Person = Pe_ID

INNER JOIN (Select Dep_ID, Dep_Name, Pe_Depart dalla partenza) come T sul Su_Depart = Dep_ID e Pe_Depart = Dep_ID

Vale la pena notare che una tale disposizione non può sempre accelerare la richiesta di lavoro. A volte ci sono casi in cui è necessario utilizzare un dato campione aggiuntivi in una tabella temporanea (se il volume è troppo grande), e poi è stato combinato con il campione principale.

Esempio di utilizzo Inner Join all'operatore di campioni provenienti da un gran numero di tabelle

La costruzione prevede l'utilizzo di query complesse per le notevoli quantità di campioni di tabelle di dati e subquery interconnessi. Questi requisiti possono soddisfare SQL sintassi INNER JOIN. Esempi di utilizzo dell'operatore, in questo caso può essere complicato non solo esempi dei numerosi luoghi di stoccaggio, ma anche con un gran numero di sottoquery nidificate. Per un esempio concreto, si può prendere i dati da un campione di tabelle di sistema (Inner Join istruzione SQL). Esempio – 3 della tabella – in questo caso avrà una struttura piuttosto complessa.

In questo caso collegato (tabella primaria) e tre diverse condizioni di selezione dei dati ulteriormente introdotti.

Quando si utilizza l'Inner Join operatore deve ricordare che la più complessa la query, più tempo sarà attuato, così si dovrebbe cercare modi per eseguire e risolvere il problema in modo più rapido.

conclusione

Alla fine, vorrei dire una cosa: lavorare con i database – non è la cosa più difficile nella programmazione, quindi se si desidera che ogni singola persona sarà in grado di acquisire conoscenze per costruire una base di dati, e nel corso del tempo, acquisire esperienza, si arriva a lavorare con loro a livello professionale .