2. Llenguatge SQL
Jan 10, 2016
2. Llenguatge SQL
2.1. Consultes 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
2.2. Consules DML(Data Manipulation Language) (I)
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.
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;
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;
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;
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_’;
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);
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;
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
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
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
2.2. Consultes DDL(Data Definition Language)
• 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)
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)
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)
)
2.2. Consultes DDL (Data Definition Language)
• Alter
ALTER TABLE Alumnes ADD CONSTRAINT FK_IdProfessors FOREIGN KEY (IdProfessor) REFERENCES Professors (IdProfessor);
2.2. Consultes DDL (Data Definition Language)
• DROP
ALTER TABLE Alumnes ( DROP COLUMN Nom )
2.2. Consultes DDL (Data Definition Language)
• TRUNCATE
TRUNCATE TABLE Alumnes
2.3. Consultes DML(Data Manipulation Language) (II)
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.
2.3. Consultes DDL (Data Definition Language) (II)
• INSERT
INSERT INTO Alumnes VALUES (11, ‘JOANA');
INSERT INTO Professors VALUES (6, ‘ROBERT', ‘MARTÍ, ‘SALES’);
2.3. Consultes DDL (Data Definition Language) (II)
• UPDATE
UPDATE Alumnes SET ImportMatricula = ImportMatricula * 0.03
2.3. Consultes DDL (Data Definition Language) (II)
• DELETE
DELETE FROM Alumnes