Distinct
Distinct
*########################################################################
#########################################################################
#############################*/
/*DISTINCT*/
SELECT DISTINCT (CUSTOMER_ID) FROM SAKILA.PAYMENT;
/
*########################################################################
#########################################################################
#############################*/
/*ORDER BY*/
SELECT* FROM SAKILA.COUNTRY ORDER BY COUNTRY DESC;
/*WHERE*/
SELECT* FROM SAKILA.ACTOR WHERE first_name = 'DAN';
/*EXERCISES*/
SELECT DESCRIPTION, RELEASE_YEAR FROM SAKILA.FILM; /*Consulta
description, release_year de la tabla film de la base de datos sakila.*/
/*AND OR NOT*/
/*AND*/
SELECT *FROM SAKILA.COUNTRY WHERE COUNTRY = 'ALGERIA' AND COUNTRY_ID = 2;
/*OR*/
SELECT *FROM SAKILA.COUNTRY WHERE COUNTRY = 'ALGERIA' OR COUNTRY_ID = 12;
/*NOT*/
SELECT* FROM SAKILA.CATEGORY WHERE NOT NAME='ACTION';
/*EXERCISES*/
SELECT* FROM SAKILA.PAYMENT; /*Consulta la tabla payment de la base de
datos sakila.*/
SELECT* FROM SAKILA.PAYMENT WHERE CUSTOMER_ID = 36 AND AMOUNT > 0.99 AND
STAFF_ID = 1; /*Filtra la información donde customer_id sea igual a 36,
amount sea mayor a 0.99 y staff_id sea igual a 1.*/
SELECT* FROM SAKILA.RENTAL WHERE NOT STAFF_ID = 1 AND CUSTOMER_ID > 250
AND INVENTORY_ID < 100;/*Filtra la información donde staff_id no sea 1,
customer_id sea mayor a 250 y inventory_id sea menor de 100*/
/
*########################################################################
#########################################################################
#############################*/
/*IN*/
SELECT* FROM SAKILA.CUSTOMER WHERE FIRST_NAME IN ('MARY', 'PATRICIA');
/*BETWEEN*/
SELECT* FROM SAKILA.RENTAL WHERE (CUSTOMER_ID BETWEEN 300 AND 350) AND
STAFF_ID=1;
/*EXCERCISES*/
SELECT* FROM SAKILA.PAYMENT;/*Consulta la tabla payment de la base de
datos sakila.*/
SELECT* FROM SAKILA.PAYMENT WHERE (AMOUNT BETWEEN 2.99 AND 4.99) AND
(STAFF_ID = 2) AND (CUSTOMER_ID IN(1, 2));/*Filtra la información donde
amount esté entre 2.99 y 4.99, staff_id sea igual a 2 y customer_id sea
1 y 2.*/
SELECT* FROM SAKILA.FILM WHERE (RENTAL_RATE BETWEEN 0.99 AND 2.99) AND
(LENGTH <= 50) AND (REPLACEMENT_COST < 20);/*Filtra la información donde
rental_rate esté entre 0.99 y 2.99, length sea menor igual de 50 y
replacement_cost sea menor de 20.*/
/
*########################################################################
#########################################################################
#############################*/
/*LIKE*/
SELECT* FROM SAKILA.ACTOR WHERE FIRST_NAME LIKE 'A%' AND LAST_NAME LIKE
'B%';
SELECT* FROM SAKILA.ACTOR WHERE FIRST_NAME LIKE '%A' AND LAST_NAME LIKE
'%N';
SELECT* FROM SAKILA.ACTOR WHERE FIRST_NAME LIKE '%NE%' AND LAST_NAME LIKE
'%RO%'; /*BUSQUEDA DE COINCIDENCIAS ENTREMEDIO*/
SELECT* FROM SAKILA.ACTOR WHERE FIRST_NAME LIKE 'C%N' AND LAST_NAME LIKE
'G%';
/*EXCERCISES*/
SELECT* FROM SAKILA.FILM; /*Consulta la tabla film de la base de datos
sakila.*/
SELECT* FROM SAKILA.FILM WHERE RELEASE_YEAR = 2006 AND TITLE LIKE 'ALI%';
/*Filtra la información donde release_year sea igual a 2006 y title
empiece con ALI.*/
/
*########################################################################
#########################################################################
#############################*/
/*JOINS*/
/*INER JOIN*/
SELECT* FROM SAKILA.FILM F INNER JOIN SAKILA.LANGUAGE L ON (F.LANGUAGE_ID
= L.LANGUAGE_ID);
/*EXCERCISES*/
SELECT* FROM SAKILA.ADDRESS;/*Consulta la tabla address de la base de
datos sakila.*/
SELECT*
FROM SAKILA.CITY C INNER JOIN SAKILA.COUNTRY CT ON (C.CITY_ID =
CT.COUNTRY_ID);/*Realiza un INNER JOIN con las tablas city y country*/
SELECT*
FROM SAKILA.STORE S LEFT JOIN SAKILA.ADDRESS A ON (S.STORE_ID =
A.ADDRESS_ID);/*Realiza un LEFT JOIN con las tablas store y address*/
SELECT*
FROM SAKILA.RENTAL R
INNER JOIN SAKILA.STAFF S ON (R.STAFF_ID = S.STAFF_ID);/*Realiza un INNER
JOIN con la tabla staff*/
/
*########################################################################
#########################################################################
#############################*/
/*SUM*/
SELECT* FROM SAKILA.PAYMENT;
SELECT SUM(AMOUNT) FROM SAKILA.PAYMENT; /*Suma todos los valores de una
columna*/
/*COUNT*/
SELECT* FROM SAKILA.ACTOR;
SELECT COUNT(*) FROM SAKILA.ACTOR; /*CUENTA LA CANTIDAD DE REGISTROS EN
LA TABLA*/
SELECT COUNT(FIRST_NAME) FROM SAKILA.ACTOR;
/*AVG*/
SELECT AVG(AMOUNT) FROM SAKILA.PAYMENT; /*PROMEDIO DE UNA COLUMNA*/
SELECT AVG(RENTAL_DURATION) FROM SAKILA.FILM;
/*MAX - MIN*/
SELECT MAX(LENGTH) FROM SAKILA.FILM;
SELECT MIN(LENGTH) FROM SAKILA.FILM;
SELECT MIN(REPLACEMENT_COST) FROM SAKILA.FILM;
SELECT MAX(REPLACEMENT_COST) FROM SAKILA.FILM;
/*EXERCISES*/
SELECT* FROM SAKILA.RENTAL;/*Consulta la tabla rental de la base de datos
sakila.*/
/
*########################################################################
#########################################################################
#############################*/
/*GROUP BY*/
SELECT LAST_NAME, COUNT(*) FROM SAKILA.ACTOR
GROUP BY LAST_NAME;
/*EXCERCISES*/
SELECT* FROM SAKILA.RENTAL R;/*Consulta la tabla rental de la base de
datos sakila.*/
/
*########################################################################
#########################################################################
#############################*/
/*HAVING*/
SELECT AMOUNT, COUNT(*) FROM SAKILA.PAYMENT
GROUP BY AMOUNT
HAVING COUNT(*) <= 10; /*HAVING SE UTILIZA EN CONJUNTO CON COUNT PARA
MEDIR EL VALOR DE COUNT CON <, >, =, SE UTILIZA POR QUE WHERE NO PUEDE
HACERLO*/
/*EXERCISES*/
SELECT LAST_NAME, COUNT(*) FROM SAKILA.ACTOR
GROUP BY LAST_NAME; /*Realiza un COUNT de last_name*/
/
*########################################################################
#########################################################################
#############################*/
/*FUNCIONES UTILES*/
/*CHAR_LENGTH*/
SELECT NAME, CHAR_LENGTH(NAME) AS LONGITUDCADENA
FROM SAKILA.CATEGORY;
/*CONCAT*/
SELECT*, CONCAT(FIRST_NAME, ' ',LAST_NAME) AS NOMBRE_COMPLETO FROM
SAKILA.CUSTOMER;
/*ROUND*/
SELECT*, ROUND(AMOUNT, 0) FROM SAKILA.PAYMENT; /*REDONDEAR VALORES
NUMERICOS*/
/*EXERCISES*/
SELECT EMAIL, CHAR_LENGTH(EMAIL) FROM SAKILA.CUSTOMER;/*Usa la función
CHAR_LENGTH() en la tabla customer y calcula la longitud de la columna
email.*/
/
*########################################################################
#########################################################################
#############################*/
/*CASE*/
SELECT* FROM SAKILA.ADDRESS;
/*EXERCISES*/
/
*########################################################################
#########################################################################
#############################*/
/*SUBCONSULTAS*/
SELECT* FROM SAKILA.FILM;
/*EXERCISES*/
/*FILM,FILM_CATEGORY, CUSTOMER, RENTAL*/
/*SELECT FIRST_NAME, LAST_NAME, EMAIL
FROM SAKILA.CUSTOMER
WHERE CUSTOMER_ID IN (SELECT CUSTOMER_ID FROM SAKILA.RENTAL WHERE
INVENTORY_ID IN
() )*/
/**Encuentre el nombre completo y la dirección de correo electrónico de
todos los clientes que hayan alquilado una película de acción.*/
/
*########################################################################
#########################################################################
#############################*/
/*VIEWS - VISTAS*/