Skip to content

Instantly share code, notes, and snippets.

@raimonizard
Last active February 14, 2023 23:20
Show Gist options
  • Save raimonizard/724189a4eda4aa9f35f9dbef72814942 to your computer and use it in GitHub Desktop.
Save raimonizard/724189a4eda4aa9f35f9dbef72814942 to your computer and use it in GitHub Desktop.
Resum de comandes SQL

Data Definition Language - DDL

Comanda Ús
CREATE Serveix per crear objectes dins d'una base de dades (database, table, constraint, index, etc.)
ALTER Modifica paràmetres d'un objecte existent a la base de dades (database, table, constraint)
DROP Elimina objectes existents en una base de dades (database, table, constraint, index, etc.)

Exemples:

CREATE:

CREATE DATABASE IF NOT EXISTS NomBaseDades;
CREATE TABLE IF NOT EXISTS Taula1(
  Columna1 INT,
  Columna2 VARCHAR(30),
  CONSTRAINT PK_Taula1 PRIMARY KEY (Columna1),
  CONSTRAINT FK1_Taula1 FOREIGN KEY (Columna2) REFERENCES Taula2 (Columna1)
);

ALTER:

ALTER TABLE Taula1
ADD Columna3 INT;
ALTER TABLE Taula1
DROP COLUMN Columna2;

DROP:

DROP TABLE IF EXISTS Taula1;
DROP DATABASE IF EXISTS NomBaseDades;

Data Query Language - DQL

Comanda Ús
SELECT Projecta les columnes desitjades. Filtra les columnes a mostrar
FROM Determina les taules usades com a font de dades
WHERE Aplica restriccions (filtres) sobre les files a mostrar
AS Defineix àlies sobre taules o columnes
JOIN Uneix taules a partir de les columnes que tenen en comú
AND Uneix condicions lògiques d'obligat compliment
OR Uneix condicions lògiques on almenys una s'ha de complir
IN Serveix per buscar valors dins d'un llistat
IS NULL Serveix per buscar valors NULL
LIKE Serveix per buscar valors que segueixen un patró
GROUP BY Serveix per fer agrupacions sobre determinades columnes
HAVING Aplica restriccions (filtres) sobre agrupacions. Necessita un GROUP BY
COUNT Operador aritmètic que conta files
SUM Operador aritmètic que suma els valors d'una columna
AVG Operador aritmètic que calcula la mitjana aritmètica dels valors d'una columna
MIN Operador aritmètic que troba el valor mínim d'una columna
MAX Operador aritmètic que troba el valor màxim d'una columna
ORDER BY Determina l'ordre de les files resultants alfanumèricament. ASC per defecte
LIMIT Limita les files resultants a la sortida. Exemple: LIMIT 2, 3 mostrarà les files 3, 4, 5.

Exemples:

Ordre d'execució de les comandes DQL:

  1. FROM
  2. WHERE
  3. GROUP BY
  4. HAVING
  5. SELECT
  6. ORDER BY
  7. LIMIT

SELECT:

SELECT T1.Columna1, T1.Columna2, T2.Columna2, T2.Columna3, COUNT(DISTINCT T2.Columna4) AS Recompte
FROM Taula1 AS T1 INNER JOIN Taula2 AS T2 ON T1.Columna1 = T2.Columna1
WHERE T2.Columna3 LIKE '%text%'
GROUP BY T1.Columna1, T1.Columna2, T2.Columna2, T2.Columna3
HAVING COUNT(DISTINCT T2.Columna4) > 3
ORDER BY T1.Columna1 DESC
LIMIT 2,4;

JOINs:

sql-joins1

Data Manipulation Language - DML

Comanda Ús
INSERT Insereix files dins d'una taula existent. Pot ser directe o indirecte
UPDATE Modifica els valors de les columnes d'una taula existent
DELETE Elimina files d'una taula existent

Exemples:

INSERT:

INSERT INTO Taula1 (Columna1, Columna2, Columna3)
VALUES (1, "Hola", "2023-02-13");
INSERT INTO Taula2
SELECT * FROM Taula1
WHERE condició;

UPDATE:

UPDATE Taula1
SET Columna2 = 23
WHERE Columna1 = 'Michael Jordan';

DELETE:

DELETE FROM Taula1
WHERE Columna2 = 23;

Footnotes

  1. Source: SQL Joins Infographic

@GerardPolloRebozado
Copy link

👍

@LluisMcClane
Copy link

:)

@JauDev
Copy link

JauDev commented Feb 14, 2023

😃 👍

@liabatlle
Copy link

Molt útil 👌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment