Show Menu
Cheatography

sql cheatsheet Cheat Sheet (DRAFT) by

sql managment basics

This is a draft cheat sheet. It is a work in progress and is not finished yet.

SQL

Lenguaje declar­ativo no imperativo basado en conjuntos, es decir relaci­ona­lmente completo.​

data types

FLOAT
INTEGRERS
CHAR(2)
'abc '
VARCHA­R(10)
'abc'
NULL

Selct query

SELECT col1, col2 AS alias
FROM table
JOIN table2 ON table1.col = table2.col
WHERE condition
GROUP BY column_name
HAVING condition
ORDER BY col1 ASC|DESC;
FROM: origenes de los datos
WHERE: limita registros donde es verdadero. >, <, =, <>, >=, <=,
LIKE, NOT, IN, BETWEEN etc.
GROUP BY: Especifica el criterio por el cual la tabla va a ser agrupada y calcula los resultados de las funciones estadí­sticas definidas en la sentencia SELECT.​
El HAVING filtra los resultados del group by.

basicos

DDL
leng de definicion de datos
create
CREATE­TABLE t (id INT, constraint pk_nombre PRIMARY KEY());
drop
alter
ALTER TABLE tablename ADD columnname datatype;
DML
leng de manipu­lacion de datos
select
insert
INSERT INTO tablename (col1)­VALUES (val);
update
UPDATE tablename SET col1 = val1 WHERE condition;
delete
DELETE FROM tablename WHERE condition;

Clave cantidata

Sea una relación R. Entonces una clave candidata de R es un subcon­junto de atributos de R, denominado K que cumple con:  
Unicidad: No existen dos tuplas de R con el mismo valor de atributos para K  
Minima­lidad: No existe un subcon­junto de atributos de K que cumplan con la propiedad de unicidad (Irred­uct­ibi­lidad) 
 

joins

SELECT t1., t2.
FROM t1
join_type t2 ON t1.col = t2.col;
inner join valores de ambas tablas
left join todos los regitros de la izq y los iguales de la derecha
right join todos los registros de la derecha y los iguales de la izq.
full join todos los registros donde en ambas tablas es igual o no lo es

funciones de agregación

avg(expr)
promedio de valores en columna
count(­expr)
contador de valores dentro del grupo
max(expr)
maximo valor en registros
min(expr)
minimo valor en registros
sum(expr)
suma valores dento de grupo

Operadores de compar­ación

Between
Permite comparar contra un rango de valores incluy­énd­olos. 
Like
Compar­ación con máscaras (expre­siones regula­res). Funciona solo con caracteres
"­---­%", "­%--­-",
Exists
determina si el resultado de una subcon­sulta devolvió registros o no. 
In
SELECT * FROM customers WHERE id IN ( SELECT DISTINCT custom­er_id FROM orders );

views

La vista es como una tabla nueva pero que cada vez que la llamas, lo que hace es ejecutar esa sentencia. . 
Existe por su definición en base a una sentencia Select. 
No posee datos propios, estos se obtienen en el momento de su invocación por la ejecución de la sentencia Select en la defini­ción. 
CREATE VIEW nombre AS SELECT columnas FROM tabla WHERE condic­ion> date condicion;

stored procedures

-- Define a name and parameters
CREATE PROCEDURE Northwind.getEmployee
 @LastName nvarchar(50),
 @FirstName nvarchar(50)
AS
-- Define the query to be run
SELECT FirstName, LastName, Department
FROM Northwind.vEmployeeDepartment
WHERE FirstName = @FirstName AND LastName = @LastName
AND EndDate IS NULL;

Calling the procedure:
EXECUTE Northwind.getEmployee N'Ackerman', N'Pilar';
 

Triggers

CREATE TRIGGER BooksDeleteTrigger
 ON MyBooksDB.Books
 AFTER DELETE
AS
 INSERT INTO BooksRecycleBin
 SELECT *
 FROM deleted;
GO
Un trigger, significa que es una acción que voy a definir que se ejecute cuando pase cierta condición. Lo que permite es generar acciones que automa­ticen procesos.

transa­cciones

BEGIN TRANSACTION
 INSERT INTO DeletedEmployees(EmployeeID, DateDeleted, User)
 (SELECT 123, GetDate(), CURRENT_USER);
 DELETE FROM Employees WHERE EmployeeID = 123;
COMMIT TRANSACTION

grant and revoke

 GRANT EXECUTE ON privilegio TO usuario WITH GRANT OPTION (condicional); EXCT agregarMiembro