Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Ejemplos de consultas SQL en Bases de Datos, Apuntes de Programación de Bases de Datos

Este documento contiene ejemplos prácticos de consultas SQL en una base de datos, mostrando cómo eliminar registros, seleccionar columnas y realizar operaciones de agregación. Además, se explican los operadores lógicos y de comparación, y se presentan consultas sobre más de una tabla.

Tipo: Apuntes

2020/2021

Subido el 11/05/2021

gabi_larrondo
gabi_larrondo 🇪🇸

4.4

(351)

59 documentos

1 / 49

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
FIB: Bases de Dades (BD)
3.2 Laboratori - Llenguatges: SQL 81
3.2 Llenguatges: SQL
Introducció
Base de dades exemple
Sentències SQL
Creació d’una taula
Inserció / modificació / esborrat de files d’una taula
Consultes
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31

Vista previa parcial del texto

¡Descarga Ejemplos de consultas SQL en Bases de Datos y más Apuntes en PDF de Programación de Bases de Datos solo en Docsity!

FIB: Bases de Dades (BD)

3.2 Llenguatges: SQL

 Introducció

 Base de dades exemple

 Sentències SQL

  • Creació d’una taula
  • Inserció / modificació / esborrat de files d’una taula
  • Consultes

FIB: Bases de Dades (BD)

Introducció

 Llenguatge estructurat de definició, actualització i consulta de bases

de dades

 Proposat per un departament d’investigació d’IBM

 Adoptat com a estàndard per al Model Relacional de bases de dades

en els anys 1986-87 (ANSI/X3H2/RDL).

 Des d’aleshores se n’han fet vàries versions: SQL-89, SQL-92,

SQL:1999, SQL:2003, SQL:2006, SQL:2008, SQL:2011.

 Malgrat l'estandarització, els diferents constructors de SGBDR

(Sistemes de Gestió de Bases de Dades Relacionals) ofereixen

variants de SQL.

 Nosaltres veurem el nucli comú de SQL per a tots els SGBDR, tenint

en compte que per alguns la sintaxi de les sentències pot variar.

 Pot ser utilitzat de manera interactiva o de manera hostatjada entre

les sentències d’un programa.

FIB: Bases de Dades (BD)

Base de dades exemple

Clau primària: Cada taula té una clau primària que permet identificar les files de la taula. Per ex. num_dpt és la clau primària de la taula departaments. Això vol dir que cada departament té un num_dpt que ha de ser únic entre tots els departaments, és a dir mai hi haurà dos departaments amb el mateix número de departament.  Clau forana. Una clau forana permet relacionar les files de dues taules. Per ex. num_dpt és una clau forana de la taula empleats que referencia la taula departaments. Això vol dir que entre les dades d’un empleat hi haurà també el departament al que pertany, i aixó ens permetrà saber el departament on treballa un empleat, i també els empleats que treballen a un departament.

departaments(num_dpt, nom_dpt, planta, edifici, ciutat_dpt)

1 DIRECCIO 10 PAU CLARIS BARCELONA
2 DIRECCIO 8 RIOS ROSAS MADRID
3 MARQUETING 1 PAU CLARIS BARCELONA

projectes(num_proj, nom_proj, producte, pressupost)

1 IBDTEL TELEVISIO 1000000
2 IBDVID VIDEO 500000

empleats(num_empl, nom_empl, sou, ciutat_empl, num_dpt num_proj )

1 CARME 400000 MATARO 1 1
2 EUGENIA 350000 TOLEDO 2 2
3 JOSEP 250000 SITGES 3 1

FIB: Bases de Dades (BD)

Creació d’una taula

 tipus_dades : INTEGER, FLOAT(precisió), REAL, CHAR(n),

NUMERIC(precisió,escala), DECIMAL(precisió,escala), SMALLINT,

DOUBLE PRECISION, VARCHAR(n), DATE,....

 val_per_defecte : Valor per defecte d’una columna per a una fila que

s’insereix a la taula.

DEFAULT { | NULL }.

CREATE TABLE <nom_taula>

(<nom_columna> <tipus_dades> [<restriccions_col>] [<val_per_defecte>]

[, <nom_columna> <tipus_dades> [<restriccions_col>] [<val_per_defecte>]...]

[<restriccions_taula>]);

FIB: Bases de Dades (BD)

3.2 Laboratori - Llenguatges: SQL (^) 86-b

Creació d’una taula: Restriccions de taula

 restriccions_taula :

Les restriccions de taula poden referir-se a una o més columnes de la taula.

Així, en cas de restriccions que tenen a veure amb més d’una columna cal

usar una restricció de taula.

Per exemple, en cas de claus primàries compostes per més d’un columna

o condició (CHECK) que tenen a veure amb més d’una columna.

UNIQUE () El conjunt de les columnes especificades han de

tenir valors únics entre les files de la taula

PRIMARY KEY () El conjunt de les columnes especificades formen

la clau primària

FOREIGN KEY ()

REFERENCES []

El conjunt de columnes especificades formen una clau forana que referencia la taula indicada.

CHECK () La taula ha de complir les condicions

especificades. La condició pot referir-se a una o més columnes de la taula.

FIB: Bases de Dades (BD)

Creació d’una taula: Exemple

CREATE TABLE empleats

( num_empl INTEGER ,

nom_empl CHAR (30) NOT NULL ,

sou INTEGER DEFAULT 100000

CHECK (sou>80000),

ciutat_empl CHAR (30),

num_dpt INTEGER ,

num_proj INTEGER ,

PRIMARY KEY (num_empl),

FOREIGN KEY (num_dpt) REFERENCES

departaments(num_dpt),

FOREIGN KEY (num_proj) REFERENCES projectes(num_proj));

FIB: Bases de Dades (BD)

Inserció de files en una taula: Exemples

INSERT INTO empleats

VALUES (4, 'RICARDO’, 400000, ‘BARCELONA’,1,1);

INSERT INTO empleats (num_empl, num_dpt, num_proj,

nom_empl)

VALUES (11, 3, 2, ‘NURIA’);

empleats(num_empl, nom_empl, sou, ciutat_empl, num_dpt num_proj )

1 CARME 400000 MATARO 1 1
2 EUGENIA 350000 TOLEDO 2 2
3 JOSEP 250000 SITGES 3 1
4 RICARDO 400000 BARCELONA 1 1
11 NURIA 100000 NULL 3 2

Files inserides per la primera sentència Files inserides per la segona sentència

FIB: Bases de Dades (BD)

Esborrat de files d’una taula

 S’eliminen de la taula les files que compleixen les condicions

especificades a la clausula WHERE.

DELETE FROM

WHERE ;

FIB: Bases de Dades (BD)

Modificació de files d’una taula

 Es modifiquen de la manera indicada a la clausula SET les columnes

de les files de la taula que compleixen les condicions especificades

a la clausula WHERE.

UPDATE

SET = {expressió/ NULL} [, = {expressió/ NULL}...]

WHERE ;

FIB: Bases de Dades (BD)

Modificació de files d’una taula: Exemples

UPDATE empleats

SET sou = sou +

WHERE num_dpt = 1;

UPDATE empleats

SET sou = sou + 50000, ciutat_empl = ‘VIC’

WHERE num_empl = 11;

empleats(num_empl, nom_empl, sou, ciutat_empl, num_dpt num_proj )

1 CARME 410000 MATARO 1 1
2 EUGENIA 350000 TOLEDO 2 2
3 JOSEP 250000 SITGES 3 1
4 RICARDO 410000 BARCELONA 1 1
11 NURIA 150000 VIC 3 2

Files modificades per la primera sentència Files modificades per la segona sentència

FIB: Bases de Dades (BD)

Consultes sobre una taula: Format bàsic - Exemple 1

SELECT *

FROM empleats;

empleats(num_empl, nom_empl, sou, ciutat_empl, num_dpt num_proj )

1 CARME 410000 MATARO 1 1
2 EUGENIA 350000 TOLEDO 2 2
3 JOSEP 250000 SITGES 3 1
4 RICARDO 410000 BARCELONA 1 1
11 NURIA 150000 VIC 3 2

Dades obtingudes com a resultat de la consulta

FIB: Bases de Dades (BD)

SELECT num_empl, nom_empl, sou

FROM empleats;

empleats(num_empl, nom_empl, sou, ciutat_empl, num_dpt num_proj )

1 CARME 410000 MATARO 1 1
2 EUGENIA 350000 TOLEDO 2 2
3 JOSEP 250000 SITGES 3 1
4 RICARDO 410000 BARCELONA 1 1
11 NURIA 150000 VIC 3 2

Dades obtingudes com a resultat de la consulta

Consultes sobre una taula: Format bàsic - Exemple 2

FIB: Bases de Dades (BD)

Operadors en les condicions

 operadors

  • aritmètics: *, +, -, /
  • de comparació: =, <, >, <=, >=, <>
  • lògics : NOT, AND, OR
  • altres :
    • BETWEEN <límit 1 > AND <límit 2 >
    • IN (<valor 1 >,<valor 2 > [....,<valor (^) N >])
    • LIKE <característica>
    • IS [NOT] NULL

Aquests operadors poden sortir a les condicions

 En la clausula WHERE de les sentències d’esborrat ( DELETE ),

modificació ( UPDATE ) i consulta ( SELECT )

 En la clausula CHECK de les sentències de creació d’una taula

( CREATE TABLE ).

FIB: Bases de Dades (BD)

Operadors en les condicions: Exemple

SELECT num_empl, nom_empl

FROM empleats

WHERE NOT (num_dpt = 2) AND

( ciutat_empl IN (‘MATARO’, ‘SITGES’, ‘BARCELONA’) OR

ciutat_empl LIKE ‘V%’) AND

num_proj IS NOT NULL AND

sou BETWEEN 400000 AND 500000;

empleats(num_empl, nom_empl, sou, ciutat_empl, num_dpt num_proj )

1 CARME 410000 MATARO 1 1
2 EUGENIA 350000 TOLEDO 2 2
3 JOSEP 250000 SITGES 3 1
4 RICARDO 410000 BARCELONA 1 1
11 NURIA 150000 VIC 3 2

Dades obtingudes com a resultat de la consulta