26
2. Llenguatge SQL

2. Llenguatge SQL

  • Upload
    cher

  • View
    37

  • Download
    2

Embed Size (px)

DESCRIPTION

2. Llenguatge SQL. 2.1. Consultes SQL. 2. Consultes SQL. Tipus de consultes: DML (Data Manipulation Language): SELECT, INSERT, UPDATE, DELETE DDL (Data Definition Language): CREATE, ALTER, DROP, TRUNCATE DCL (Data Control Language): GRANT, REVOKE - PowerPoint PPT Presentation

Citation preview

Page 1: 2. Llenguatge SQL

2. Llenguatge SQL

Page 2: 2. Llenguatge SQL

2.1. Consultes SQL

Page 3: 2. Llenguatge SQL

2. Consultes SQL

• Tipus de consultes:1. DML (Data Manipulation Language): SELECT, INSERT, UPDATE, DELETE

2. DDL (Data Definition Language): CREATE, ALTER, DROP, TRUNCATE

3. DCL (Data Control Language): GRANT, REVOKE

4. TCL (Transaction Control Language): BEGIN, COMMIT, ROLLBACK

Page 4: 2. Llenguatge SQL

2.2. Consules DML(Data Manipulation Language) (I)

Page 5: 2. Llenguatge SQL

2.2. Consules DML (Data Manipulation Language) (I)

• SELECT: Selecciona un o més registres d’una o vàries taules, definint les columnes a obtenir, les condicions per a la selecció de dades i el tractament a aplicar al resultat.

Page 6: 2. Llenguatge SQL

2.2. Consules DML (Data Manipulation Language) (I)

• Sintaxi bàsica per a una sentència de selecció:1. SELECT

2. [DISTINCT]

3. [CAMPS]/[*]

4. FROM

5. {TAULA};

SELECT * FROM Alumnes;

SELECT Nom FROM Alumnes;

SELECT DISTINCT Nom FROM Alumnes;

Page 7: 2. Llenguatge SQL

2.2. Consules DML (Data Manipulation Language) (I)

• Restricció de resultats:1. [TOP] [PERCENT]

2. WHERE

SELECT TOP 1 * FROM Alumnes;

SELECT TOP 10 PERCENT * FROM Alumnes;

Page 8: 2. Llenguatge SQL

2.2. Consules DML (Data Manipulation Language) (I)

• WHERE1. Operadors de comparació

1. = (Igual a)

2. > (Major que)

3. >= (Igual o major que)

4. < (Menor que)

5. <= (Igual o menor que)

6. <> (No igual a)

SELECT * FROM Alumnes WHERE Nom = ‘Toni’;

SELECT * FROM Alumnes WHERE Anys > 18;

SELECT * FROM Alumnes WHERE DataNaixement >= ’25-07-1995’;

SELECT * FROM Alumnes WHERE Anys < 18;

SELECT * FROM Alumnes WHERE Pagament <= 25.50;

SELECT * FROM Alumnes WHERE Cobrat <> 0;

Page 9: 2. Llenguatge SQL

2.2. Consules DML (Data Manipulation Language) (I)

• WHERE1. Altres operadors de comparació

1. BETWEEN … AND …

2. IN

3. LIKE

SELECT * FROM Alumnes WHERE Anys BETWEEN 15 AND 18;

SELECT * FROM Alumnes WHERE Anys IN (13, 15, 18);

SELECT * FROM Alumnes WHERE Nom LIKE ’%toni_’;

Page 10: 2. Llenguatge SQL

2.2. Consules DML (Data Manipulation Language) (I)

• WHERE1. Operadors Lògics

1. AND

2. OR

3. NOT

SELECT * FROM Alumnes WHERE Anys = 18 AND Nom = ‘Toni’

SELECT * FROM Alumnes WHERE Anys = 18 OR Nom = ‘Toni’

SELECT * FROM Alumnes WHERE Anys NOT BETWEEN 15 AND 18;

SELECT * FROM Alumnes WHERE Anys NOT IN (13, 15, 18);

Page 11: 2. Llenguatge SQL

2.2. Consules DML (Data Manipulation Language) (I)

• WHERE1. Operador especial NULL

1. IS [NOT]

SELECT * FROM Alumnes WHERE DataNaixement IS NULL;

SELECT * FROM Alumnes WHERE Anys IS NOT NULL;

Page 12: 2. Llenguatge SQL

2.2. Consules DML (Data Manipulation Language) (I)

• SELECT1. Operadors Aritmètics

1. +

2. -

3. *

4. /

5. %

SELECT (Preu * 166.386) FROM Articles

SELECT (Preu + (Preu * 0.18)) FROM Articles

SELECT (Preu - Descompte) FROM Articles

SELECT (PreuTotal / Unitats) FROM Articles

SELECT (Unitats % 5) FROM Articles

Page 13: 2. Llenguatge SQL

2.2. Consules DML (Data Manipulation Language) (I)

• SELECT1. Alias

SELECT (Preu * 166.386) AS PreuPessetes FROM Articles

SELECT (Preu + (Preu*0.18)) AS PreuIVA FROM Articles

SELECT (Preu - Descompte) AS PreuDescompte FROM Articles

SELECT (PreuTotal / Unitats) AS PreuUnitari FROM Articles

SELECT (Unitats % 5) AS NumeroPacks FROM Articles

SELECT

A.Nom, F.Nom

FROM

Articles A, Frabricants F

WHERE

A.IdFabricant = F.Id

Page 14: 2. Llenguatge SQL

2.2. Consules DML (Data Manipulation Language) (I)

• ORDER BY1. DESC

2. ASC

SELECT

A.Nom,

F.Nom,

A.Preu

FROM

Articles A,

Frabricants F

WHERE

A.IdFabricant = F.Id

ORDER BY

A.Preu DESC

Page 15: 2. Llenguatge SQL

2.2. Consultes DDL(Data Definition Language)

Page 16: 2. Llenguatge SQL

• DDL: CREATE, ALTER, DROP, TRUNCATE, RENAME

1. CREATE: Comanda que permet crear un objecte a la base de dades.

2. ALTER: Modifica la estructura d’un objecte a la base de dades.

3. DROP: Elimina un objecte de la base de dades amb restriccions de registres.

4. TRUNCATE: Elimina un objecte de la base de dades sense restriccions de registres.

5. RENAME: Renombra un objecte. En desús.

2.2. Consultes DDL (Data Definition Language)

Page 17: 2. Llenguatge SQL

Tipus d’objectes:• Taula: Estructura on s’emmagatzema la informació de les dades en

forma de files i columnes.1. Registres: Cada una de les files en les que es divideix la taula.

2. Camps: Cada una de les columnes en les que es divideix la taula.

• Vista: Resultat d’una consulta SQL sobre una o varies taules. També es pot considerar una taula virtual.

• Índex: Estructura de dades que millora el rendiment de les operacions.

• Disparador (Trigger): Acció que s’executa quan es compleix una condició establerta al realitzar una operació de INSERT, UPDATE o DELETE.

• Procediment (o programa): Informació encapsulada per al procés d’una tasca complexa que requereix realitzar diverses accions de forma seqüencial.

2.2. Consultes DDL (Data Definition Language)

Page 18: 2. Llenguatge SQL

2.2. Consultes DDL (Data Definition Language)

• Create

CREATE TABLE Alumnes (Id int, Nom varchar(75))

CREATE INDEX PK_IdAlumnes ON Alumnes (Id) WITH PRIMARY

CREATE TABLE Alumnes(

Id int NOT NULL PRIMARY KEY,Nom varchar(75)

)

Page 19: 2. Llenguatge SQL

2.2. Consultes DDL (Data Definition Language)

• Alter

ALTER TABLE Alumnes ADD CONSTRAINT FK_IdProfessors FOREIGN KEY (IdProfessor) REFERENCES Professors (IdProfessor);

Page 20: 2. Llenguatge SQL

2.2. Consultes DDL (Data Definition Language)

• DROP

ALTER TABLE Alumnes ( DROP COLUMN Nom )

Page 21: 2. Llenguatge SQL

2.2. Consultes DDL (Data Definition Language)

• TRUNCATE

TRUNCATE TABLE Alumnes

Page 22: 2. Llenguatge SQL

2.3. Consultes DML(Data Manipulation Language) (II)

Page 23: 2. Llenguatge SQL

2.3. Consultes DDL (Data Definition Language) (II)

• DML: INSERT, UPDATE, DELETE.• INSERT: Agrega un o més registres a una taula de la Base de

Dades.• UPDATE: Modifica un o més registres a una taula de la Base de

Dades.• DELETE: Elimina un o més registres existents a una taula.

Page 24: 2. Llenguatge SQL

2.3. Consultes DDL (Data Definition Language) (II)

• INSERT

INSERT INTO Alumnes VALUES (11, ‘JOANA');

INSERT INTO Professors VALUES (6, ‘ROBERT', ‘MARTÍ, ‘SALES’);

Page 25: 2. Llenguatge SQL

2.3. Consultes DDL (Data Definition Language) (II)

• UPDATE

UPDATE Alumnes SET ImportMatricula = ImportMatricula * 0.03

Page 26: 2. Llenguatge SQL

2.3. Consultes DDL (Data Definition Language) (II)

• DELETE

DELETE FROM Alumnes