Programació

SQL: Guia ràpida per a principiants

30 d'octubre de 2021

SQL implica un llenguatge de consulta estructurat. És un llenguatge específic del domini utilitzat per recuperar les dades emmagatzemades a la base de dades. SQL gestiona les dades emmagatzemades al fitxer sistema de gestió de bases de dades relacionals (RDBMS), és a dir, les dades que impliquen relacions entre entitats i variables. El llenguatge de consulta estructurat és compatible amb tots els principals sistemes operatius .

Abans, la manipulació de dades es feia utilitzant ISAM (Mètode d'accés seqüencial indexat) i VSAM (Mètode d'accés a l'emmagatzematge virtual) . El llenguatge de consulta estructurat té més avantatges que ISAM i VSM. Mitjançant una única comanda a SQL, podeu recuperar diversos registres o dades. Un altre avantatge és que no requereix especificar com arribar a les dades.

Taula de continguts

Què és SQL?

SQL és un llenguatge per crear, manipular i mantenir la base de dades. També ajuda a inserir les dades, suprimir-les o modificar-les. Aquest llenguatge comprèn múltiples subidiomes, com ara llenguatge de definició de dades (DDL) , Llenguatge de manipulació de dades (DML) , llenguatge de consulta de dades (DQL) , i Llenguatge de control de dades (DCL) .

Un SQL consisteix en una consulta de dades, definició de dades, manipulació de dades i control d'accés a dades. Una consulta de dades és una ordre que s'utilitza per recuperar qualsevol dada de la base de dades. La definició de dades implica definir l'esquema de la base de dades, i la manipulació de dades inclou la inserció, l'actualització i la supressió de dades.

El 1986, SQL es va convertir en el Institut Nacional d'Estàndards Americà (ANSI) estàndard. L'any següent, es va convertir en el Organització Internacional d'Estandardització (ISO) estàndard. L'any 1970, Donald D. Chamberlin i Raymond F. Boyce desenvolupat SQL a IBM.

Abans, es coneixia com a SEQUEL (Structured English Query Language). Va ser especialment dissenyat per emmagatzemar i recuperar dades d'IBM. Hi ha diferents versions d'SQL publicades els anys 1989, 1992, 1996, 1999, 2003, 2006, 2008, 2011 i 2016.

SQL és el llenguatge bàsic per a tots els sistemes de gestió de bases de dades relacionals, com MySQL, Oracle, Sybase, SQL Server, MS Access, Postgres i Informix. L'ús d'aquest dialecte de consulta té múltiples avantatges. SQL permet als usuaris accedir a la informació des de qualsevol sistema de gestió de bases de dades relacionals.

Els usuaris poden definir les dades, modificar-les o suprimir-les mitjançant SQL. També podeu incrustar aquest dialecte en qualsevol altre llenguatge de programació, on calgui recuperar dades. Permet als usuaris generar i establir permisos sobre procediments emmagatzemats, funcions i vistes.

Ara sabem sobre SQL i la seva història. Ens centrem ara en el sistema de gestió de bases de dades relacionals (RDBMS). PL/SQL, Extensió del llenguatge procedimental a SQL , ajuda a estendre SQL i li proporciona capacitats procedimentals

Bases de dades RDBMS

Hem vist que SQL és utilitzat per moltes bases de dades RDBMS, com MySQL, SQL Server, Oracle, MS Access, etc. Per tant, en aquesta secció, aprendrem algunes bases de dades RDBMS. Veurem les característiques de cada base de dades, i després podrem reconèixer la diferència entre elles.

1. MySQL:

Una empresa sueca, MySQL AB, va desenvolupar el MySQL base de dades, que és d'ús gratuït i de codi obert. MySQL és compatible amb tots els sistemes principals, com Microsoft Windows, Linux , Unix i sistemes operatius macOS. Podeu utilitzar les seves versions comercials o no comercials. Segons les versions, se us proporcionen les funcions. Incorpora un servidor de bases de dades robust, més ràpid, multifils i multiusuari.

El 1994, Micheal Widenius i David Axmark van desenvolupar MySQL i es pronuncia en el context de 'my ess-que-ell'. El 23 de maig de 1995 es va llançar la primera versió de la base de dades MySQL. Aquesta base de dades era compatible per executar-se amb el sistema Windows el 8 de gener de 1998. Es va publicar per primera vegada per a Windows 95 i NT.

El MySQL versió 3.23: beta es va llançar entre juny de 2000 i gener de 2001. La següent versió, 4.0: beta, llançada entre agost de 2002 i març de 2003. De juny de 2004 a octubre de 2004, es va llançar la versió 4.1: beta. La versió següent, 5.1: beta, es va produir des de març de 2005 fins a octubre de 2005. Més tard, el 2008, Sun Microsystems va adquirir MySQL, i després es va llançar la darrera versió 5.2: beta.

Característiques:

MySQL ofereix alt rendiment, alta disponibilitat i flexibilitat per executar qualsevol cosa. També admet transaccions potents per dur a terme. Totes les dades de la base de dades MySQL estan protegides i altament segures. Està disponible gratuïtament i de codi obert.

2. Oracle:

Oracle és una de les bases de dades relacionals àmpliament utilitzades amb sistemes de gestió multiusuari i grans. Oracle Corporation va llançar la base de dades relacional Oracle. Aquest SGBD és el més adequat per a operacions client/servidor. Diversos clients poden accedir i enviar dades a través de la xarxa. Oracle és compatible amb sistemes client i servidor, com UNIX, UnixWare, OS/2, NetWare i MSDOS.

Larry Ellison, Ed Oates i Bob Miner van desenvolupar la base de dades Oracle el 1977 i van establir Laboratoris de desenvolupament de programari. El 1979, la versió 2.0 d'Oracle va ser llançada en els dos anys següents, la primera versió comercial d'Oracle. Van canviar el nom de Software Development Laboratories a Relational Software Inc. (RSI). Més tard, aquesta organització es va anomenar Oracle Corporation el 1982. La següent versió, 3.0, es va llançar el 1983 en llenguatge C. La versió 4.0 d'Oracle, desenvolupada l'any 1984, inclou funcions més avançades, com ara la coherència de lectura de diverses versions, el control de concurrència, etc. Oracle 11g, la darrera versió, es va llançar el 2007.

La base de dades relacional Oracle inclou funcions més avançades, com ara concurrència, mecanisme de bloqueig, SQL Plus, gestor de recursos, mineria de dades, particions, emmagatzematge de dades, execució paral·lela, etc.

3. MS SQL Server:

La base de dades relacional de Microsoft és MS SQL Server . L'objectiu principal d'aquesta base de dades és emmagatzemar i recuperar les dades a la base de dades. És compatible amb Microsoft Windows, Linux i Windows Server sistemes operatius. El MS SQL Server permet que qualsevol aplicació de programari, present en el mateix ordinador o en un diferent o a través de la xarxa, pugui recuperar les dades. Utilitza llenguatges de bases de dades ANSI SQL i T-SQL.

Inicialment, l'any 1987, Sybase va desenvolupar SQL Server per a sistemes UNIX. L'any següent, Microsoft, Aston-Tate i Sybase van llançar SQL Server 1.0 per a OS/2. Per als usuaris de Windows 3.0, la versió 1.1 d'SQL Server es va llançar l'any 1990. Més tard, Aston-Tate va abandonar l'organització i Micorosft va llançar SQL Server 2000 l'any 2000. L'any següent es va desenvolupar XML per a aquesta base de dades. SQLXML 2.0 es va desenvolupar el 2002 i més tard va llançar SQLXML 3.0. La darrera versió, SQL Server 2005, es va desenvolupar el 7 de novembre de 2005.

MS SQL Server inclou rèplica de bases de dades, activadors DDL, integració XML perfecta, correu de base de dades, alt rendiment i alta disponibilitat.

4. MS Access:

Una altra base de dades relacional popular és MS Access. Igual que la base de dades anterior, MS Access també és producte de Microsoft. Aquest SGBD s'utilitza per a empreses a petita escala i és excepcionalment econòmic. Incorpora un motor de base de dades Jet. Aquest motor també s'anomena Jet SQL, ja que utilitza el llenguatge SQL.

L'any 1992 es va desenvolupar la primera versió 1.0 de MS Access. L'any següent es va desenvolupar amb el llenguatge de programació Access Basic per millorar la compatibilitat. Més tard, es va llançar Access 2007, que utilitzava el format ACCDB. Aquesta versió de MS Access és avançada i inclou tipus de dades complexos i camps de valors múltiples.

MS Access utilitza macros per a taules, formularis, informes i consultes connectades. Mitjançant aquest sistema, podeu exportar i importar les vostres dades en diversos formats, com ara ASCII, Oracle, ODBC, SQL Server, etc. El format Jet conté l'aplicació i les seves dades en un sol fitxer. Per tant, compartir qualsevol aplicació és senzill. No admet activadors de bases de dades, procediments emmagatzemats i registre de transaccions, ja que és un sistema basat en un servidor de fitxers.

Què és RDBMS?

Gairebé tots els sistemes de bases de dades actuals, com SQL, Oracle, MySQL, Microsoft Access, etc., utilitzen el sistema de gestió de bases de dades relacionals. Aquest sistema de bases de dades es basa en el model relacional. E. F. Codd va proposar el sistema de gestió de bases de dades relacionals. Hi ha certs elements en RDBMS que necessiteu saber abans de passar cap a SQL. Parlem de cada aspecte a continuació.

1. Taula:

A RDBMS, les dades s'emmagatzemen en forma de taula. Aquesta taula s'anomena objecte. També s'anomena a relació . Una taula en RDBMS té files i columnes. Cada taula del RDBMS té un nom de taula específic. Una taula es considera el formulari d'emmagatzematge de dades més senzill.

Considerem la taula amb el nom de la taula, 'Estudiant'. Emmagatzemarem la informació de l'estudiant a la taula Estudiant, com ara Nom, Edat, ID_estudiant i Ciutat.

NomEdatID_estudiantciutat
Steve231092Nova York
Oliver241093Los Angeles
Robert211094Chicago
Maria251095Califòrnia
Jennifer231096Nova York
Jaume221097Washington dc
Joan211098Califòrnia
Jhonny241099Chicago

La taula anterior proporciona informació sobre els estudiants.

2. Camp:

El següent element RDBMS és el camp. Un camp és l'entitat més petita de la taula. Per exemple, a la taula anterior, són camps 'Estudiant', Nom, Edat, ID_estudiant i Ciutat. Per tant, cada columna de la taula és un camp, que emmagatzema la informació o registre particular.

3. Fila:

Una fila també es coneix com a registre. El registre o fila conté informació sobre l'entitat concreta. A la taula anterior, 'Estudiant', hi ha vuit files o registres diferents. En altres termes, la taula anterior conté les dades de vuit estudiants diferents. Una única entitat horitzontal és una fila o un registre. El següent és una fila o un registre de la taula 'Estudiant'.

|_+_|

4. Columna:

Hem vist que una fila és una entitat horitzontal. A diferència de la fila, la columna és una entitat vertical. Una columna conté totes les dades relacionades amb el camp. A la taula 'Estudiant', hi ha camps Nom, Edat, ID_estudiant i Ciutat. Per tant, una columna amb el camp ‘Nom’ conté els noms dels estudiants. Aquesta columna es representa de la següent manera:

|_+_|

5. NUL:

Quan no hi ha dades en un camp concret o hi ha un espai en blanc, aquest valor és el valor NULL. El valor NULL no és el mateix que el zero. Es manté en blanc mentre es crea el registre.

Conceptes bàsics d'SQL

Aprendrem tots els conceptes bàsics d'SQL en aquest segment, com ara la sintaxi, el processament de consultes, les restriccions, les ordres i la normalització de bases de dades.

Sintaxi SQL

Una consulta SQL conté diversos elements per recuperar les dades de la base de dades. A continuació es mostren els components implicats en la consulta.

    Clàusules:

Les clàusules són la part opcional de la consulta. Són els elements de la consulta. Per exemple, UPDATE, SET, WHERE, etc., són les clàusules.

    Expressions:

Les expressions de la consulta donen com a resultat les dades en forma de taula amb files i columnes. Una fila s'anomena 'tupla' i una columna s'anomena 'atribut'.

    Predicats:

Els predicats són condicions, que produeixen lògica de tres valors (Vertader/ Fals/ Desconegut).

    Consultes:

Les consultes obtenen les dades necessàries de la base de dades mitjançant condicions.

    Declaracions:

Les declaracions controlen el flux del programa, les transaccions, les connexions, etc. També pot incloure un punt i coma ‘;.’

    Espais en blanc insignificants:

Els espais en blanc no desitjats no es tenen en compte a la consulta SQL, la qual cosa la fa més comprensible i llegible.

Aquí veurem petits exemples amb tres clàusules, actualitzar, establir i on.

  1. ACTUALITZACIÓ edat;

La consulta anterior actualitza l'atribut age.

  1. SET edat = edat+2;

L'anterior implica una expressió 'edat+2', que augmenta l'edat en dos, i el resultat s'assigna a l'edat.

  1. ON nom_emp = 'Joan';

Aquí, 'emp_name = 'Joan' és un predicat i 'Joan' és una expressió.

Processament de consultes

Les consultes en SQL es processen per convertir-les en expressions de baix nivell, que són comprensibles pels ordinadors. Qualsevol processament de consultes inclou diversos components, com ara l'analitzador, el traductor, el motor d'evolució, la base de dades, etc. La consulta d'alt nivell es transforma en expressions compatibles amb el nivell físic del sistema de fitxers. A continuació es mostra el diagrama que il·lustra com es processa i optimitza la consulta per implementar-la a nivell físic.

img 617dd1be21877

En primer lloc, la consulta d'alt nivell es converteix en una expressió comprensible, és a dir, expressió algebraica. Durant aquesta conversió, la consulta passa per diverses fases, tal com es mostra al diagrama anterior. En la primera etapa, l'analitzador verifica la sintaxi de la consulta i observa si la relació i els atributs implicats són correctes. El traductor transforma la consulta en una representació interna, que es dóna a l'optimitzador.

L'optimitzador de consultes converteix la representació interna de la consulta en expressions, que es poden executar. Aquestes expressions són executades pel motor DBMS o el motor d'avaluació de consultes. El resultat del motor DBMS es dóna al nivell físic de la base de dades.

Clàusules SQL

La clàusula de l'SQL és un component de la consulta. Hi ha diverses clàusules en SQL. Vegem cada clàusula en detall amb la sintaxi següent.

    Clàusula SELECT:

Quan voleu recuperar les dades de les columnes o files especificades, podeu utilitzar la clàusula SELECT. També pot recuperar les dades de les files de diverses taules o vistes. El conjunt de resultats de la instrucció select també és una taula.

Sintaxi:

|_+_|
    Clàusula DISTINCT:

La clàusula DISTINCT s'utilitza amb la clàusula SELECT. Retorna valors únics i diferents. No hi ha valors duplicats al conjunt de resultats.

Sintaxi:

|_+_|
    Clàusula ON:

La clàusula Where s'utilitza per especificar la condició per recuperar les dades. Mostra les úniques files especificades per la condició.

Sintaxi:

|_+_|
    Clàusula GRUP PER:

Aquesta clàusula agrupa les files que tenen valors similars en un conjunt de resultats. La clàusula GROUP BY sempre s'utilitza en una consulta amb funcions com SUMA, MAX, MIN, COUNT i AVG.

Sintaxi:

|_+_|
    DEMANAT PER:

Quan calgui ordenar el resultat en ordre ascendent o descendent, podeu utilitzar la instrucció ORDER BY. Per defecte, aquesta instrucció ordena el resultat en ordre ascendent. Si voleu organitzar el conjunt de resultats en ordre descendent, podeu especificar 'desc' a la consulta.

Sintaxi:

|_+_|
    TENIR:

L'objectiu principal de la paraula clau HAVING és que s'utilitza només amb funcions agregades, com ara SUMA, MIN, MAX, COUNT i AVG. La paraula clau ON no és compatible amb les funcions agregades.

Sintaxi:

|_+_|

Ordres en SQL

Les ordres SQL es classifiquen en cinc tipus diferents, DDL, DML, DQL, TCL i DCL. A continuació coneixerem amb detall cadascun d'aquests tres tipus.

    DDL:

El llenguatge de definició de dades consta de quatre ordres SQL, crear, alterar, truncar i deixar anar. Aquestes ordres s'utilitzen per canviar l'estructura de la taula. Tots es comprometen automàticament, és a dir, els canvis fets a l'estructura de la taula es guarden permanentment.

La instrucció create table s'utilitza per crear la taula nova, la vista de la taula o qualsevol altre objecte de la base de dades.

Sintaxi:

|_+_|

Exemple:

|_+_|

Una altra ordre, alterar, s'utilitza per modificar o fer canvis en una vista o taula existent. Mitjançant l'ordre alter, podeu afegir una columna nova a la taula o canviar la columna existent d'una taula concreta.

Sintaxi:

|_+_|

Exemple:

|_+_|

L'ordre truncate DDL elimina totes les files de la taula. Tingueu en compte que no elimina la taula.

Sintaxi:

|_+_|

Exemple:

|_+_|

Finalment, l'ordre drop elimina la taula o vista. Elimina completament l'estructura de la taula i les dades emmagatzemades a la taula.

Sintaxi:

|_+_|

Exemple:

|_+_|
    DML:

El llenguatge de manipulació de dades consta de tres ordres, inserir, suprimir i actualitzar. Aquestes ordres modifiquen les dades de la taula. A diferència de les ordres DDL, les ordres DML no es comprometen automàticament. Quan utilitzeu qualsevol de les tres ordres, heu d'utilitzar la paraula clau 'commit' per desar els canvis de manera permanent.

L'ordre INSERT insereix les dades a la taula. Sempre que s'afegeixen dades noves a la taula, el nombre de tuples augmenta.

Sintaxi:

|_+_|

O

|_+_|

Exemple:

|_+_|

El següent és la declaració d'actualització. Aquesta declaració actualitza o modifica el valor existent d'un únic atribut.

Sintaxi:

|_+_|

Exemple:

|_+_|

Finalment, la instrucció delete elimina files específiques de la taula.

Sintaxi:

|_+_|

Exemple:

|_+_|
    DCL:

A l'SQL, assignem algunes autoritats o drets a persones per manipular, accedir o esborrar les dades de la base de dades. Podem concedir i recuperar les autoritats mitjançant les ordres GRANT i REVOKE.

La declaració GRANT s'utilitza per concedir el dret d'accés a la base de dades. Els usuaris poden accedir a la base de dades si se'ls concedeix permís.

Sintaxi:

|_+_|

La declaració REVOKE és oposada a la declaració GRANT. Elimina tots els privilegis de l'usuari accedir a la base de dades .

|_+_|
    DQL:

Només hi ha una ordre en el llenguatge de consulta de dades, SELECT. Aquesta ordre s'utilitza per seleccionar atributs específics de la taula. Selecciona atributs en funció de la condició WHERE especificada.

Sintaxi:

|_+_|

Exemple:

|_+_|
    TCL:

El llenguatge de control de transaccions inclou tres ordres, commit, rollback i savepoint. Podeu utilitzar les instruccions TCL només amb les ordres DML. No es poden utilitzar amb instruccions DDL, ja que desen automàticament els canvis de manera permanent a la base de dades.

La declaració de commit desa tots els canvis fets de manera permanent a la taula de la base de dades.

Sintaxi:

|_+_|

Exemple:

|_+_|

Quan voleu desfer qualsevol transacció anterior que no estigui compromesa a la base de dades, es pot executar la instrucció de retrocés.

Sintaxi:

|_+_|

Exemple:

|_+_|

Finalment, la instrucció SAVEPOINT duu a terme una eficaç desaparició de les transaccions. Retorna la transacció específica al punt desitjat, sense necessitat de retrocedir tota la transacció.

Sintaxi:

|_+_|

Integritat de les dades

La integritat de les dades a la base de dades implica precisió i redundància. Les dades presents a la base de dades han de ser exactes i no repetides. Per a aquests propòsits, fem servir restriccions. En general, restricció significa limitacions o restriccions. En SQL, la restricció implica regulacions o regles a les columnes de la taula. En altres paraules, les restriccions especifiquen quines dades s'han d'afegir a la taula. L'aplicació de restriccions a la columna de dades garanteix que fiabilitat i la correcció de les dades.

SQL

El diagrama anterior il·lustra diferents restriccions que s'agrupen en tres categories, integritat de l'entitat, integritat de referència i integritat del domini.

Podeu aplicar restriccions a les columnes de la taula o directament a la taula. Si preferiu aplicar restriccions a les columnes, es coneix com a restriccions a nivell de columna. Podeu aplicar restriccions a nivell de columna a una o dues columnes. I l'ús de restriccions a tota la taula s'anomena restriccions a nivell de taula. Quan apliqueu restriccions a nivell de taula, s'aplica a totes les columnes de la taula.

Feu-nos saber ara les tres categories d'integritat de dades anteriors.

    Integritat de l'entitat:

A la integritat de l'entitat, cada tupla de la taula s'identifica de manera única mitjançant les tres restriccions següents:

  • Restricció NOT NULL: garanteix que no hi hagi cap valor NULL a la taula o columna.
  • Restricció ÚNICA: aquesta regla especifica que la columna de la taula tindrà valors únics. No es repetirà cap valor de la columna.
  • Clau PRIMÀRIA: quan apliqueu aquesta restricció a qualsevol columna de la taula, aquesta columna identificarà de manera única cada fila o tupla de la taula.
    Integritat referencial:

Quan voleu relacionar dues taules diferents a la base de dades, podeu utilitzar la integritat referencial.

  • Clau FOREIGN: identificarà de manera única una fila o tupla d'una altra taula. La clau primària d'una taula ha d'estar present com a atribut a l'altra taula. Aquest atribut es coneix com a clau FOREIGN.
    Integritat del domini:

La integritat del domini s'utilitza per garantir que tots els valors de la taula segueixen les regles definides.

  • Restricció PREDETERMINADA: assigna el valor per defecte a la columna quan no s'indica el valor específic.
  • Restriccions CHECK: quan voleu verificar que tots els valors de columna compleixen la condició especificada, podeu aplicar la restricció CHECK.

ÍNDEX: quan desitgeu obtenir o crear les dades de la base de dades, podeu utilitzar l'INDEX.

Normalització de bases de dades

La normalització de bases de dades és el procés d'organitzar les dades de la base de dades en un format ben estructurat. Hi ha diferents formes normals normalització de bases de dades , que ajuda a eliminar la redundància i millorar la integritat de les dades. E. F. Codd va proposar el concepte de normalització de bases de dades. Hi ha dues raons principals per a la normalització de la base de dades.

  • Eliminació de dades repetides de la base de dades.
  • Assegurant-se que totes les dependències de dades són correctes i tenen sentit.

L'eliminació de dades redundants ajudarà a alliberar espai al disc. Mitjançant la normalització de bases de dades, podeu crear una bona base de dades i emmagatzemar-hi les dades de manera lògica. Hi ha diferents formes normals de normalització de bases de dades, que us ajuden a crear una base de dades ben estructurada. Aquestes formes normals es donen a continuació:

  • Primera forma normal
  • Segona forma normal
  • Tercera forma normal
  • Boyce Codd Forma normal
  • Quarta forma normal
  • Cinquena forma normal

Tipus de dades SQL

El tipus de dades SQL defineix el tipus de dades que s'utilitzen. Hi ha sis tipus diferents de tipus de dades en SQL: numèrics, data i hora, caràcters i cadena, caràcters Unicode, binaris i diversos. Aquests tipus de dades s'utilitzen mentre es crea la taula a la base de dades. Cada columna s'assigna al tipus de dades i només ha de contenir les dades del tipus especificat.

Totes les bases de dades relacionals no admeten tots els tipus de dades SQL. La base de dades relacional Oracle no admet el tipus de dades DATETIME i la base de dades MySQL no admet el tipus de dades CLOB. Hi ha algunes bases de dades específiques, que tenen tipus de dades addicionals separats. A Microsoft SQL Server, altres tipus de dades són 'diners' i 'diners petits'. Ara analitzem cada tipus de dades a continuació.

1. Tipus de dades numèriques

Hi ha onze tipus de dades numèriques diferents en SQL, que es classifiquen en dos grups. El primer grup conté tipus de dades numèriques exactes, i el segon té tipus de dades numèriques aproximades. Els tipus de dades numèriques exactes inclouen bigint, int, smallint, tinyint, decimal, money, numeric, smallmoney i bit. I els tipus de dades numèriques aproximades impliquen flotants i reals. Les taules següents il·lustraran els valors d'abast dels tipus de dades exactes i aproximats.

Tipus de dades exactes

Tipus de dades Des de A Emmagatzematge
bit01
bigint-9,223,372,036,854,775,8089,223,372,036,854,775,8078 bytes
tinyint02551 byte
diners petits-214,748.3648+214,748.36474 bytes
diners-922,337,203,685,477.5808+922,337,203,685,477.58078 bytes
petita-32,76832,7672 bytes
int-2,147,483,6482,147,483,6474 bytes
numèric-10^38 +110^38-15 – 17 bytes
decimal-10^38 +110^38-15 – 17 bytes

Tipus de dades aproximats

Tipus de dades Des de A Emmagatzematge
real-3,40E + 383,40E + 384 o 8 bytes
flotar-1,79E + 3081,79E + 3084 bytes

2. Data i hora

El tipus de dades de data i hora té quatre tipus de dades diferents, datetime, data, time i smalldatetime. Feu-nos saber ara els valors d'abast de cada tipus de dades de data i hora.

Tipus de dades Des de A Emmagatzematge
smalldatetime1 de gener de 19006 de juny de 20794 bytes
datetime1 de gener de 175331 de desembre de 99998 bytes
datetime21 de gener de 000131 de desembre de 99996 – 8 bytes
dataAquest tipus de dades emmagatzema la data en forma de 30 de juny de 1991.3 bytes
tempsAquest tipus de dades emmagatzema l'hora en forma 12:30 P.M.3 – 5 bytes

3. Caràcter i cadena

El tipus de dades de caràcter i cadena s'utilitza per inserir alfabets i paraules. Hi ha quatre tipus de dades de caràcters i cadenes diferents de la següent manera:

    char

El tipus de dades char és de longitud fixa i té un límit de mida màxim de 8.000 caràcters.

    varchar

Aquest tipus de dades és de longitud variable, amb un límit de mida màxim de 8.000 caràcters.

    text

El tipus de dades de text té una longitud variable i un límit de mida màxim és de 2.147.483.647 caràcters.

    varchar (màx.)

Aquest tipus de dades també és de longitud variable, amb el límit de mida màxim de 2E + 31.

Tots els tipus de dades anteriors no són Unicode.

4. binari:

Hi ha quatre tipus de dades binàries en SQL: binary, varbinary, varbinary(max) i imatge. A continuació es mostra una breu descripció de cadascun d'aquests tipus de dades.

    binari

Aquest tipus de dades és de longitud fixa, amb un límit de longitud màxim de 8.000 bytes.

    varbinari

varbinary és un altre tipus de dades binàries, que té una longitud variable. Té un límit de mida màxim de 8.000 bytes.

    varbinary (màx.)

Igual que varbinary, varbinary(max) també és un tipus de dades de longitud variable, amb el límit de mida màxim de 2E + 31 bytes. Només s'utilitza a SQL Server 2005.

    imatge

La imatge també és una dada binària de longitud variable amb un límit màxim de 2.147.483.647 bytes.

5. Tipus de dades Unicode

Aquest grup també té quatre tipus de dades diferents: nchar, nvarchar, nvarchar(max) i ntext.

    nchar

nchar és un tipus de dades Unicode de longitud fixa, amb una longitud màxima de 4.000 bytes.

    nvarchar

A diferència de nchar, nvarchar és un Unicode de longitud variable amb un límit de mida màxim de 4.000 bytes.

    nvarchar (màx.)

nvarchar(max) només és compatible amb la base de dades SQL Server 2005. Té un límit de mida màxim de 2E + 31 i té una longitud variable.

    ntext

ntext és un Unicode de longitud variable amb una longitud màxima de 1.073.741.823 bytes.

6. Divers

A continuació es mostren els tipus de dades que s'inclouen en el grup Miscel·lània.

    sql_variant: Conté els valors de tots els tipus de dades admesos per la base de dades SQL Server, excepte la marca de temps, text i ntext.identificador únic: aquest tipus de dades conté un GUID, un identificador únic a nivell mundial.cursor: Fa referència a un objecte cursor.marca de temps: és un número únic que es modifica cada vegada que es modifica qualsevol fila de la base de dades.xml: és compatible amb SQL Server 2005 i conté dades xml.taula: conté un conjunt de resultats, que s'utilitza per a propòsits futurs.

Operadors SQL

Els operadors són les paraules o caràcters reservats. Estan destinats a realitzar operacions específiques. Normalment, s'utilitza un operador a la clàusula WHERE per especificar la condició. Un operador pot ser aritmètic, lògic o comparatiu. També podeu utilitzar un operador per combinar dues condicions en la mateixa declaració. A SQL, hi ha tres tipus d'operadors diferents, operadors aritmètics, de comparació i lògics.

1. Operadors aritmètics

Un operador aritmètic pot realitzar operacions aritmètiques, com ara la suma, la resta, la multiplicació, el mòdul i la divisió. Prenem 'a, que té el valor 15' com una variable i 'b, que té el valor 30' com una altra variable. Veurem un exemple de cada operador aritmètic a continuació.

Operador Descripció Exemple
+L'operador ‘+’ realitza la suma de les dues variables.a+b=15+30=45
L'operador '-' resta la variable dreta de la variable esquerra.a-b =15-30=-15
%'%' produeix la resta pel que fa al seu resultat quan la variable esquerra es divideix per la variable dreta.b/a=30%15=0
/'/' realitza la divisió. El valor de la variable esquerra es divideix pel valor de la variable dreta.b/a =30/15=2
*‘*’ multiplica dues variables.a*b=15*30=450

2. Operadors lògics

Aquí, veurem tots els operadors lògics utilitzats en SQL amb les seves breus descripcions.

  • AND: AND s'utilitza per combinar diverses condicions en una sentència SQL.
  • ENTRE: Aquest operador s'utilitza per especificar l'interval de valors. Podeu establir el valor mínim i màxim mitjançant la paraula clau BETWEEN.
  • IN: quan apliqueu la paraula clau IN, compara un sol valor amb tots els altres valors literals presents en una llista especificada.
  • NOT: Aquest operador s'utilitza amb altres operadors lògics, com EXISTS, BETWEEN. Per exemple, podeu aplicar NO EXISTIS, NO ENTRE, NO EN, etc.
  • IS NULL: quan voleu comparar qualsevol valor amb el valor NULL, podeu utilitzar IS NULL.
  • TOT: aquest operador s'utilitza per comparar un valor d'un conjunt amb tots els altres valors d'un altre conjunt.
  • QUALSEVOL: compara un valor amb qualsevol valor pràctic de la llista.
  • EXISTIS: Comprova si hi ha una fila concreta a la taula.
  • M'agrada: quan vulgueu comparar un valor amb un valor similar, utilitzeu la paraula clau M'agrada.
  • OR: com AND, OR també combina diverses condicions a la clàusula WHERE.
  • ÚNIC: aquesta paraula clau verifica la singularitat de cada fila de la taula.

3. Operadors de comparació

Per reconèixer els operadors de comparació, prendrem dues variables, a i b. Sigui 'a' 15 'b' sigui 20.

Operador Descripció Exemple
Comprova si els valors de les dues variables són iguals o no. Si no són iguals, retorna cert, en cas contrari no és cert.(ab) =(1530)=vertader
==Igual que , == també comprova que les dues variables tinguin valors iguals. Si els valors són iguals, retorna cert.(a==b)=(15==30)=no és cert
!='!=' és similar al '.' També produeix cert si els valors de les dues variables no són iguals.(ab) =(1530)=vertader
>Si el valor de la variable esquerra és més gran que la variable dreta, '>' retorna vertader.(a>b)=(15>30)= no és cert
!>'!>' és oposat a l'operador '>'. Retorna true si el valor de la variable esquerra no és més gran que el valor de la variable dreta.(a!>b)=(15!>30)= cert
>=Si l'operand esquerre és més gran o igual que l'operand dret, la condició esdevé certa.(a=30)= no és cert
<Si el valor de la variable esquerra és menor que el valor de la variable dreta, '<’ returns true. (a
!<‘!<’ is opposite to the ‘<’ operator. It returns true if the left variable value is not less than the right variable value. (a
<=Si l'operand esquerre és menor o igual que l'operand dret, la condició esdevé certa.(a<=b)=(15<=30)= true

Expressions SQL

En SQL, una expressió està formada per operadors, un o més valors i funcions SQL. Sempre s'especifiquen a la clàusula ON. A continuació es mostra la sintaxi que il·lustra l'ús d'expressions a la consulta de la base de dades.

Sintaxi:

|_+_|

Hi ha tres tipus d'expressions utilitzades en SQL, booleana, numèrica i data.

1. Expressions booleanes

L'expressió booleana recupera les dades que coincideixen amb un sol valor. Recupera les files que coincideixen amb el valor especificat a l'EXPRESSIÓ.

Sintaxi:

|_+_|

Abans, hem creat la taula, amb un nom de taula, 'Estudiant'. Recuperem les seves dades mitjançant la instrucció SELECT.

|_+_|

Sortida:

|_+_|

Ara, recuperarem les dades que coincideixin amb el valor Student_ID = 1098. Només es mostrarà una fila de la manera següent.

|_+_|

Resultat:

|_+_|

2. Expressió numèrica

Les expressions numèriques són operacions matemàtiques. S'expressa de la següent manera:

Sintaxi:

|_+_|

Podeu realitzar qualsevol operació matemàtica mitjançant expressions numèriques. Aquí hi ha un exemple que il·lustra l'operació matemàtica mitjançant una expressió numèrica.

|_+_|

Sortida:

|_+_|

També podeu incloure funcions agregades a l'expressió numèrica: avg(), max(), count(), min() i sum(). Ara, comptarem el nombre de registres o files a la taula 'Estudiant'.

|_+_|

Sortida:

|_+_|

3. Expressions de data

Les expressions de data són l'expressió més desitjable en SQL, que proporciona la data i l'hora actuals del sistema. Vegem la consulta per mostrar la data i hora actuals del sistema.

|_+_|

Sortida:

|_+_|

Creeu, deixeu anar i utilitzeu instruccions de la base de dades en SQL

1. Crea una base de dades

Abans de crear taules, primer hem de crear la base de dades. En primer lloc, creeu la base de dades en què voleu treballar. Ara veurem com crear la base de dades.

Sintaxi:

|_+_|

Heu d'assegurar-vos que el nom de la base de dades sigui únic i diferent. No s'ha d'utilitzar abans.

Ara creem la base de dades amb el nom .

|_+_|

Per crear qualsevol base de dades, heu de tenir el privilegi d'administrador. Podeu visualitzar totes les bases de dades creades mitjançant l'ordre 'MOSTRAR BASES DE DADES'. Abans hem creat diverses bases de dades: school_info, softwaretesttips, test, company i origin.

|_+_|

Resultat:

|_+_|

La sortida anterior mostrava la llista de bases de dades creades.

2. Deixa anar la base de dades

Suposem que volem suprimir una de les bases de dades anteriors. Amb aquest propòsit, s'utilitza la declaració 'DROP DATABASE'.

Sintaxi:

|_+_|

Tingueu en compte que volem eliminar la base de dades de 'prova' de l'esquema SQL. Quan suprimiu qualsevol base de dades, s'eliminaran totes les dades presents en ella. També heu de tenir el privilegi d'administrador per esborrar la base de dades.

|_+_|

Hem esborrat la base de dades 'prova'. Vegem ara la llista de bases de dades presents a l'esquema.

|_+_|

Sortida:

|_+_|

3. Utilitza i selecciona la base de dades

Al nostre esquema, hi ha diverses bases de dades. Suposem que volem treballar només amb una base de dades específica; heu de triar el de totes les bases de dades. Després de triar una base de dades, podeu realitzar-hi totes les operacions DDL. Per seleccionar la base de dades, hi ha una instrucció USE.

Sintaxi:

|_+_|

Seleccionarem una base de dades 'softwaretesttips' de la nostra llista de bases de dades en la qual realitzarem totes les operacions de la base de dades.

|_+_|

Qualsevol cosa que creeu, taules o visualitzeu, estarà present a la base de dades de 'softwaretesttips'.

Aquest va ser tot el tutorial ràpid sobre SQL. Ara crearem una taula a la base de dades 'softwaretesttips' i realitzarem totes les operacions SQL sobre aquesta taula.

Crea una taula

Hem vist la sintaxi de creació de taula i l'exemple. Aquesta declaració està escrita de la següent manera,

|_+_|

A la instrucció create table, especifiquem el nom de la taula, els atributs i els tipus de dades. Fins i tot podem aplicar restriccions als atributs mitjançant la instrucció create table. Assegureu-vos que el nom de la taula sigui únic i que no s'utilitzi abans.

Ara crearem la taula utilitzant la instrucció 'crear taula'. Creem una taula 'EMPLOYEE', que emmagatzema les dades dels empleats. Crearem cinc atributs per a aquesta taula: Emp_ID, Nom, Edat, Ciutat i Salari.

|_+_|

Hem creat la taula 'EMPLOYEE' amb EMP_ID, NOM, EDAT, CIUTAT i SALARY com a atributs. La clau primària de la taula 'EMPLOYEE' és EMP_ID, que no hauria de ser NULL. A més, els atributs NAME i AGE tampoc haurien de ser NULL.

Després d'escriure la declaració de creació de taula anterior, veureu el missatge 'taula creada amb èxit' a la pantalla. Quan vulgueu veure els atributs de la taula o l'esquema de la taula, escriviu l'ordre següent:

|_+_|

Sortida:

|_+_|

Podem deixar anar la taula 'EMPLOYEE' mitjançant la instrucció DROP.

|_+_|


Després de deixar caure la taula, s'elimina de la base de dades. Si intenteu executar l'ordre 'DESC', es produirà un error de la següent manera:

|_+_|

Insereix valors a la taula

Hem après a crear una taula en una base de dades concreta i deixar-la anar de la base de dades. Ara, ens centrarem a inserir les dades a la taula. A la primera secció d'aquest article, hem vist com escriure la instrucció insert. Aquí, aprendrem a escriure la instrucció insert utilitzant l'exemple.

Agafarem la taula anterior, 'EMPLOYEE' i hi inserirem les dades dels empleats mitjançant la paraula clau insert. Hi ha dues maneres d'inserir les dades a la taula.

|_+_|

Una altra forma més senzilla d'escriure la sentència INSERT és:

|_+_|

En el primer format, hem especificat columnes i valors. Només hem especificat valors en el segon format. Quan utilitzeu el segon format, assegureu-vos d'inserir els valors en l'ordre correcte tal com heu especificat els atributs durant la creació de la taula.

Ara inserim les dades dels empleats a la taula EMPLOYEE.

|_+_|

Hem inserit les dades de sis empleats amb el primer format. Introduïm les dades d'un empleat amb el segon format.

|_+_|

Ara, hi ha set registres o files a la taula EMPLOYEE. Per mostrar les dades a la taula EMPLOYEE, s'utilitza la instrucció SELECT. Ens centrem ara en la instrucció SELECT.

Declaració SELECT

La instrucció SELECT s'utilitza per recuperar les dades d'una taula concreta. Quan obtenim les dades mitjançant la instrucció SELECT, retorna les dades en format de taula. Abans, tenim com escriure la instrucció SELECT.

|_+_|

La declaració anterior només mostrarà la columna 1 i la columna 2 de la taula especificada. Si voleu mostrar totes les dades d'una taula específica, s'utilitza '*' en lloc d'especificar totes les columnes.

|_+_|

Mostrarem totes les dades de la taula EMPLEADA.

|_+_|

Sortida:

|_+_|

Suposem que voleu recuperar només el nom i l'identificador dels empleats; podeu especificar l'EMP_ID i el NOM a la instrucció SELECT.

|_+_|

Sortida:

|_+_|

Clàusula ON

La clàusula WHERE s'utilitza per definir la condició per recuperar les dades. També s'utilitza per combinar dues taules diferents. Quan apliqueu la condició específica a la clàusula WHERE, les dades només es recuperen si la condició és certa. La paraula clau ON s'utilitza habitualment quan els usuaris necessiten informació específica. Aquesta paraula clau s'utilitza a les declaracions DELETE i UPDATE.

|_+_|

En aquesta condició, podem utilitzar operadors lògics i de comparació. Considereu la taula EMPLEADA. Recuperem ara tots els ID, noms i sous dels empleats el sou dels quals sigui superior o igual a 40.000. Per tant, especificarem la condició com a salari >= 40.000 a la clàusula ON.

|_+_|

Sortida:

|_+_|

El conjunt de resultats conté tots els ID, noms i sous dels empleats, el sou dels quals és superior o igual a 40.000.

Si la vostra condició a la instrucció WHERE conté String, escriviu-la entre cometes simples (' '). Recuperem el nom, el DNI i l'edat d'un empleat que es diu Mary.

|_+_|

Sortida:

|_+_|

Operadors AND i OR

Els operadors AND i OR combinen dues o més condicions diferents. Quan necessiteu dades precises i concises de la taula, podeu unir diverses condicions mitjançant els operadors AND o OR.

Quan combineu condicions amb l'operador AND, només retorna el resultat si es compleixen totes les condicions. No retornarà les dades si es compleix alguna de les condicions. Sabem que els operadors s'utilitzen a la paraula clau ON. Està escrit de la següent manera:

|_+_|

Podeu especificar diverses condicions. Considereu la taula EMPLEADA. Recuperem ara el nom, el DNI, l'edat i el sou dels empleats que tinguin una edat superior a 40 anys i un salari superior o igual a 35.000.

|_+_|

Sortida:

|_+_|

Les dades dels empleats es recuperen quan es compleixen ambdues condicions.

L'operador OR també combina dues o més condicions. A diferència de la paraula clau AND, no cal que siguin certes totes les condicions que s'especifiquen a la paraula clau WHERE mitjançant la clàusula OR. Fins i tot si una sola condició és certa, escriurà les dades al conjunt de resultats. Podeu especificar diverses condicions mitjançant la paraula clau OR tal com es mostra a continuació:

|_+_|

De la taula EMPLEAT, recuperarem el nom, la ciutat i el sou, la ciutat del qual és Califòrnia o el sou és de 30.000.

|_+_|

Sortida:

|_+_|

El conjunt de resultats anterior conté tots els noms dels empleats que viuen a Califòrnia o tenen un sou de 30.000.

Clàusula HAVING

Quan voleu filtrar el vostre resultat a dades més específiques, s'utilitza la clàusula HAVING. Només podeu aplicar funcions agregades a la paraula clau HAVING, que especificarà la condició per a la recuperació de dades. La següent és la forma d'escriure la paraula clau HAVING:

|_+_|

Agafarem la taula, amb el nom-taula, EMPLEAT2. La taula és la següent:

|_+_| |_+_|

Sortida:

|_+_|

Funcions agregades

Funcions agregades en el gestió de bases de dades El sistema pren diverses dades dels registres i retorna un sol valor després dels càlculs. Hi ha cinc funcions agregades diferents: sum(), avg(), count(), min() i max(). Totes aquestes funcions només es poden aplicar a les dades numèriques, excepte la funció count(). Anem a discutir cada funció amb detall a continuació. Prenem la taula EMPLEADA per entendre les funcions agregades amb exemples.

|_+_|
    Suma():La funció sum() retorna la suma de tots els nombres presents a la columna. A la taula anterior, sumarem els sous de tots els empleats mitjançant la funció sum(). Pren diverses dades i retorna un sol valor.
|_+_|

Resultat:

|_+_|
    Mitjana():La funció avg() també retorna un sol valor. Calcula la suma de tots els números de dades presents en una columna i la divideix pel nombre total de columnes. La funció avg() calcula la mitjana de totes les dades numèriques.
|_+_|

Resultat:

|_+_|
    Max():Quan necessiteu trobar el valor màxim del conjunt de dades, podeu aplicar la funció max() a una columna concreta. També retorna un únic valor al conjunt de resultats.
|_+_|

Sortida:

|_+_|
    Min ():La funció min() és oposada a la de la funció max(). Retorna el valor mínim de la columna concreta.
|_+_|

Sortida:

|_+_|
    Recompte():Count() s'utilitza per comptar el nombre de registres de la taula. Podeu aplicar la funció count() a tot tipus de dades de la taula. També considera dades NULL i duplicades. Si voleu eliminar dades duplicades, heu d'afegir la paraula clau DISTINCT.
|_+_|

Sortida:

|_+_|

La funció count() retorna el nombre de tipus a la taula EMPLOYEE.

|_+_|

Sortida:

|_+_|

Aquí, hem utilitzat la paraula clau DISTINCT amb la funció count() a la columna CIUTAT. Va tornar el recompte dels diferents noms de ciutats. També podeu afegir la frase ON amb la funció count().

|_+_|

Sortida:

|_+_|

Tenim un nombre d'empleats que superen els 40 anys.

Actualitza la paraula clau

Podeu utilitzar la paraula clau d'actualització si voleu modificar les dades presents a la taula. Amb la paraula clau d'actualització, també podeu afegir la paraula clau ON. Amb la paraula clau ON, només podeu actualitzar els registres que voleu modificar. Si no afegiu la paraula clau ON, s'actualitzaran tots els registres. Podeu escriure la consulta d'actualització de la manera següent:

|_+_|

Si necessiteu aplicar els canvis a dos o més registres, podeu aplicar els operadors AND i OR. Agafeu la taula EMPLEADA. Actualitzarem l'edat d'un empleat que tingui el DNI 405. Fixarem l'edat de 37 a 40 anys.

|_+_|

Quan actualitzeu l'edat d'un empleat que tingui el DNI 405, aquest canvi es reflectirà a la taula. Sabrem com quedarà la taula EMPLEADA després de modificar-la.

Sortida:

|_+_|

Ara suposem que voleu canviar el sou i l'edat d'un empleat que tingui ID 407. Fixarem el sou a 55.000 i l'edat a 35.

|_+_|

Sortida:

|_+_|

La taula anterior conté les dades actualitzades.

Consulta DELETE

Quan voleu suprimir qualsevol registre de la taula, s'utilitza la paraula clau suprimir. Si voleu suprimir la tupla o fila específica, afegiu la paraula clau ON per especificar la condició. Combina diverses condicions mitjançant operadors AND o OR. Podeu escriure la consulta d'eliminació com es mostra a continuació:

|_+_|

Per exemple, agafeu la taula EMPLOYEE. Suprimirem el registre de l'empleat amb l'identificador d'empleat 405.

|_+_|

La taula no inclourà el registre de l'empleat que tingui l'ID d'empleat 405 després d'executar la consulta anterior.

Sortida:

|_+_|

Si voleu suprimir totes les files de la taula, utilitzeu la consulta següent,

|_+_|

Després d'executar aquesta consulta, només se suprimiran les dades, no l'esquema de la taula.

Clàusula ORDER BY

Podeu ordenar les dades de la columna en ordre ascendent o descendent mitjançant la frase ORDER BY. Per defecte, les dades de la columna s'organitzen en ordre ascendent. Seguiu el format següent per escriure la frase ORDER BY.

|_+_|

La llista de columnes ha de contenir totes les columnes que vulgueu ordenar o ordenar. Agafeu la mateixa taula EMPLEADA per entendre aquesta frase amb un exemple senzill. Afegirem el nom de la columna, NOM i SALARI a la llista de columnes.

|_+_|

La taula s'ordenarà segons els noms en ordre ascendent.

Sortida:

|_+_|

Ara, generarem la taula en ordre descendent mitjançant la columna NOM.

|_+_|

Sortida:

|_+_|

Clàusula GRUP PER

Per a l'agrupació de dades idèntica, s'utilitza la clàusula GROUP BY. La paraula clau WHERE sempre va seguida de la clàusula GROUP BY i la frase GROUP BY va seguida de la clàusula ORDER BY. Agrupa dades similars en grups especificats per la condició de la clàusula WHERE. La clàusula GROUP BY s'escriu de la següent manera:

|_+_|

Aplicarem la frase GROUP BY a l'altra taula. Considereu la taula següent EMPLOYEE1.

|_+_|

Aquí, Steve treballa a Chicago i a Califòrnia. Per tant, podem agrupar les dades de l'Steve mitjançant la frase GROUP BY, que mostrarà el seu nom i el sou global.

|_+_|

Sortida:

|_+_|

Paraula clau DISTINTA

La paraula clau DISTINCT elimina tots els valors duplicats de la taula. Moltes taules poden contenir dades redundants o duplicades. En aquestes situacions, utilitzar la paraula clau DISTINCT ajudarà a recuperar dades úniques. Podeu especificar columnes de les quals necessiteu obtenir les dades úniques. La següent és la forma d'escriure la paraula clau DISTINCT:

|_+_|

Per entendre com funciona la paraula clau DISTINCT, prenem la taula EMPLOYEE. En primer lloc, ordenarem la taula en ordre ascendent pel salari.

|_+_|

Sortida:

|_+_|

Al conjunt de resultats anterior, hi ha dades duplicades, és a dir, hi ha 30.000 en dues files diferents. Quan apliquem la paraula clau DISTINCT, el resultat no contindrà cap dada duplicada.

|_+_|

Sortida:

|_+_|

SQL JOIN

EN SQL, join combina registres de dues o més taules en una sola taula. Un JOIN és una font per combinar taules utilitzant les columnes comunes de les taules. Veurem un exemple de reconeixement de com es duu a terme el JOIN.

Agafarem dues taules i unirem aquestes dues taules en funció de l'atribut comú entre elles. Agafeu la taula EMPLEADA. Crearem una altra taula, DEPARTAMENT.

|_+_|

Ara tenim dues taules. Unirem aquestes dues taules i mostrarem el conjunt de resultats. Hi ha un atribut comú a les dues taules, EMP_ID.

|_+_|

El resultat és el següent:

|_+_|

A la clàusula WHERE podem unir taules o relacions mitjançant diversos operadors: , =, BETWEEN, !, NOT, etc. La unió es pot dividir en diversos tipus. La unió INNER uneix taules i retorna el resultat de les dades que coincideixen entre les dues relacions. Una altra unió és la unió ESQUERRA, que retorna totes les dades de la taula de l'esquerra. Si no hi ha cap coincidència per a la taula de l'esquerra amb la taula de la dreta, s'escriu NULL. La unió RIGHT produeix totes les dades de la taula dreta. Per a la taula correcta la coincidència de la qual no està disponible, escriviu NULL.

Uneix-te a l'esquerra

La unió esquerra combina dues relacions que tenen un atribut comú. Podeu especificar les columnes que voleu mostrar de les dues relacions. Totes les dades de la taula de l'esquerra estan presents al conjunt de resultats. Per a les dades de la taula dreta que no coincideixen amb les dades de la taula de l'esquerra, s'escriu NULL. Veurem un exemple d'unió esquerra utilitzant EMPLEAT i DEPARTAMENT.

|_+_|

DEPARTAMENT

|_+_|

Ara escriurem la consulta per unir aquestes dues relacions mitjançant la paraula clau LEFT JOIN.

|_+_|

Resultat:

|_+_|

Uneix-te correctament

La unió dreta també uneix dues taules. Quan apliquem la unió dreta a dues relacions, mostrarà totes les dades de la taula dreta que coincideixen amb la taula de l'esquerra. Per a la taula de l'esquerra que no coincideix amb les dades de la taula dreta, s'escriu NULL. Prenem les mateixes dues relacions, EMPLEAT i DEPARTAMENT, per entendre la paraula clau d'unió correcta.

|_+_|

Sortida:

|_+_|

Conclusió

Un llenguatge de consulta estructurat (SQL) és utilitzat per totes les bases de dades principals: MySQL, MS Access, Oracle, etc. Aquest llenguatge permet als usuaris crear taules a la base de dades i manipular-les mitjançant diverses clàusules, operadors, sentències. Aquest article és la referència ràpida d'SQL per a principiants. Els usuaris novells poden aprendre tots els conceptes bàsics d'SQL d'aquest tutorial.

Aquesta publicació és la referència ràpida SQL, que proporcionarà coneixements bàsics sobre la manipulació de les dades a la base de dades. Hem vist totes les sintaxis bàsiques de les ordres DML, DDL, TCL, DQL, DCL. Més tard, vam aprendre diferents clàusules, integritat de dades, tipus de dades, operadors i expressions. A la secció posterior, hem vist exemples per crear, manipular i deixar anar les dades a la base de dades.