InformàticaProgramació

Instrucció SQL INNER JOIN: exemples, sintaxi i característiques

El desenvolupament de qualsevol base de dades implica no només la creació i ompliment de taules amb una varietat d'informació, sinó també treballar amb les dades. Per a la correcta execució de diverses tasques per seleccionar dades de taules i generar informes, s'utilitza la construcció de selecció estàndard.

Les dades es fan des de taules

Si teniu en compte la tasca de seleccionar dades o construir un determinat informe, podeu determinar el nivell de complexitat d'aquesta operació. Com a regla general, quan es treballa amb bases de dades serioses (sobre el volum d'informació), que es configuren, per exemple, en botigues en línia o en empreses grans, el mostreig de dades no es limitarà a una sola taula. Normalment, les mostres poden ser d'un nombre bastant gran de taules interconnectades no només, sinó també de les consultes / subconsultas anades que fa el propi programador, depenent de la tasca assignada. Per obtenir mostres d'una taula, podeu utilitzar el disseny més simple:

Selecciona * de persona

On la persona és el nom de la taula per seleccionar les dades.

Si hi ha una necessitat de seleccionar dades de diverses taules, podeu utilitzar un dels dissenys estàndard per combinar diverses taules.

Maneres de connectar taules addicionals

Si considerem l'ús d'aquestes estructures en el nivell inicial, podem distingir els mecanismes següents per connectar el nombre necessari de taules per a la mostra, a saber:

  1. Operator Internal Join.
  2. Left Join o, aquesta és la segona forma d'enregistrament, Left Outer Join.
  3. Cross Join.
  4. Ús complet.

L'ús de taules d'operadors d'unió a la pràctica es pot aprendre tenint en compte l'ús de l'operador SQL - Inner Join. Un exemple del seu ús es veurà així:

Selecciona * de persona

Subdivisió d'unió interna a Su_Person = Pe_ID

El llenguatge SQL i l'operador Join Join poden utilitzar-se no només per unir-se a dues o més taules, sinó també per connectar altres subconsultas, cosa que facilita enormement el treball dels administradors de la base de dades i, per regla general, pot accelerar de manera significativa l'execució de certes consultes estructurades.

Combinació de dades a les taules de fila per fila

Si considera connectar un gran nombre de subconsultas i muntar dades en una sola taula per fila, també podeu utilitzar els operadors Union i Union All.

L'aplicació d'aquestes construccions dependrà del conjunt de tasques abans del desenvolupador i del resultat que vol assolir al final.

Descripció de l'operador Inner Join

En la majoria dels casos, utilitza l'operador Inner Join per unir-se a diverses taules en SQL. La descripció d'Inner Join in SQL és bastant senzilla per a un programador mitjà d'entendre, el qual acaba de començar a comprendre les bases de dades. Si tenim en compte la descripció del mecanisme de funcionament d'aquesta construcció, obtenim la següent imatge. La lògica de l'operador en el seu conjunt es basa en la possibilitat d'intersecció i mostreig només aquelles dades que existeixen en cadascuna de les taules que s'inclouen a la consulta.

Si considerem aquest treball des del punt de vista de la interpretació gràfica, obtenim l'estructura de SQL Inner Join, un exemple del qual es pot mostrar amb l'ajuda del següent esquema:

Per exemple, tenim dues taules, el diagrama de les quals es mostra a la figura. Al seu torn, tenen un nombre diferent de registres. En cadascuna de les taules hi ha camps que estan enllaçats entre si. Si intenteu explicar el treball de l'operador en funció de la figura, el resultat retornat es realitzarà en un conjunt de registres de dues taules, on coincideixen els nombres dels camps relacionats. En poques paraules, la consulta retornarà només els registres (a partir de la taula número dos), les dades dels quals es troben a la taula número u.

Sintaxi de l'operador Join Join

Com es va esmentar anteriorment, l'operador Inner Join, és a dir, la seva sintaxi, és extremadament simple. Per organitzar vincles entre taules dins d'una sola mostra, serà suficient recordar i utilitzar el següent esquema principal per a la construcció d'un operador, que està escrit en una línia del codi SQL del programa, a saber:

  • Inner Join [nom de taula] a [camp clau de la taula a la qual ens connectem] = [Camp clau de la taula connectada].

Per a la comunicació en aquest operador, s'utilitzen les claus principals de les taules. Com a regla general, en el grup de taules que emmagatzemen informació sobre empleats, la Persona i la Subdivisió anteriorment descrites tenen almenys un registre similar. Per tant, fem un cop d'ull a la instrucció SQL Inner Join, un exemple del qual s'ha mostrat una mica abans.

Exemple i descripció de la connexió a una selecció de taula simple

Tenim una taula Persona que emmagatzema informació sobre tots els empleats que treballen a l'empresa. Només cal tenir en compte que la clau principal d'aquesta taula és el camp - Pe_ID. Només en ell i hi haurà un munt.

La segona taula Subdivisió emmagatzemarà informació sobre els departaments en què treballen els empleats. Al seu torn, s'associa amb l'ajuda del camp Su_Person amb la taula Person. Què vol dir això? Segons l'esquema de dades, es pot dir que a la taula de la unitat de cada entrada a la taula d'empleats hi haurà informació sobre el departament en què treballen. És per això que l'operador d'Inner Join funcionarà.

Per obtenir un ús més comprensible, consideri l'operador d'unió interna de SQL (exemples del seu ús per a una i dues taules). Si considerem un exemple per a una taula, tot és bastant simple:

Selecciona * de persona

Subdivisió d'unió interna a Su_Person = Pe_ID

Un exemple de connexió de dues taules i una subconsulta

L'operador d'unió interna de SQL, que es pot utilitzar per seleccionar dades de diverses taules de la manera anterior, funciona amb un principi una mica més complicat. Per a dues taules, complicem el problema. Per exemple, tenim una taula de Depart, que emmagatzema informació sobre tots els departaments de cada departament. En aquesta taula, es registren el nombre del departament i el número d'empleat i cal complementar la mostra de dades amb el nom de cada departament. Si mirem endavant, cal esmentar que es poden utilitzar dos mètodes per resoldre aquest problema.

La primera forma és connectar la taula de departament a la mostra. En aquest cas, podeu organitzar la consulta d'aquesta manera:

Seleccioneu Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, De_de_Nom per persona

Subdivisió d'unió interna a Su_Person = Pe_ID

Inner join Sortida de Su_Depart = Dep_ID i Pe_Depart = Dep_ID

El segon mètode per resoldre el problema és utilitzar una subconsulta en la qual no es seleccionaran totes les dades, sinó només les necessàries, des de la taula del departament. Això, en contrast amb el primer mètode, reduirà el temps de consulta.

Seleccioneu Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, De_de_Nom per persona

Subdivisió d'unió interna a Su_Person = Pe_ID

Inner join (Seleccioneu Dep_ID, Dep_Name, Pe_Depart de Depart) com T en Su_Depart = Dep_ID i Pe_Depart = Dep_ID

Cal assenyalar que aquest disseny no sempre pot accelerar la consulta. De vegades hi ha casos en què és necessari utilitzar un mostreig addicional de dades a la taula temporal (si el seu volum és massa gran), i després es combina amb l'exemple principal.

Exemple d'ús de l'operador Inner Join per a seleccions d'una gran quantitat de taules

Construir consultes complexes implica utilitzar una quantitat significativa de taules i subconsultes relacionades entre si per recuperar dades. Aquests requisits poden satisfer la sintaxi d'Inner Join de SQL. Alguns exemples de l'ús de l'operador en aquest cas poden ser complicats no només per mostres de moltes ubicacions d'emmagatzematge de dades, sinó també d'una gran quantitat de subqueries niades. Per obtenir un exemple específic, podeu fer una mostra de dades de les taules del sistema (l'operador Inner Join SQL). Un exemple: 3 taules, en aquest cas tindran una estructura bastant complexa.

En aquest cas, s'afegeixen tres més (a la taula principal) i s'introdueixen diverses condicions per a la selecció de dades.

Quan utilitzeu l'operador Inner Join, recordeu que com més complexa és la consulta, més temps serà implementada, per la qual cosa val la pena buscar maneres de realitzar i resoldre la tasca més ràpidament.

Conclusió

Al final, m'agradaria dir una cosa: treballar amb bases de dades no és el més difícil de programar, de manera que si voleu que tots puguin dominar el coneixement de bases de dades de creació i, finalment, guanyant experiència, podreu treballar amb ells a nivell professional .

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ca.delachieve.com. Theme powered by WordPress.