Skip to content

Instantly share code, notes, and snippets.

@jhasmany-fernandez
Last active July 12, 2021 12:36
Show Gist options
  • Save jhasmany-fernandez/7ea282a5d471bbe8ad8584fa5485b76e to your computer and use it in GitHub Desktop.
Save jhasmany-fernandez/7ea282a5d471bbe8ad8584fa5485b76e to your computer and use it in GitHub Desktop.
U.A.G.R.M. - F.I.C.C.T. | Repositorios: Consultas SQL | Propietario: Jhasmany Jhunnior Fernandez Ortega | Repositorio: Consultas SQL | Lenguaje: Sql
-- ---------------------------------------------+
-- U.A.G.R.M. - F.I.C.C.T. |
-- NOMBRE: FERNANDEZ ORTEGA JHASMANY JHUNNIOR |
-- MATERIA: INF 318 - SA |
-- ---------------------------------------------+
/*
__
.' '.
_.-'/ | \
, _.-" ,| / 0 `-.
|\ .-" `--""-.__.'=====================-,
\ '-'` .___.--._)=========================|
\ .' | |
| /,_.-' | APRENDIENDO |
_/ _.'( | SQL |
/ ,-' \ \ | DESDE CERO |
\ \ `-' | |
`-' '--------------------------'
*/
-- INSERT UPDATE DELETE
/*
´´´¶¶¶¶¶¶¶´´¶¶¶¶¶¶¶¶¶¶´´´´´´´´´
´´¶¶¶¶¶¶¶¶´´´¶¶¶¶¶¶¶¶¶´´´´´´´´
´´¶¶¶¶¶¶¶¶´´´¶¶¶¶¶¶¶¶ ´¶¶¶¶¶´´
´´´¶¶¶¶¶¶´´´´´´¶¶¶¶ ´¶¶¶¶¶¶¶¶´´
´´´´´´´´´¶¶¶¶¶´´´´´´¶¶¶¶¶¶¶¶¶´
´´´´¶¶¶¶¶¶¶¶¶¶¶¶´´´¶¶¶¶¶¶¶¶¶¶´
´´¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶´´´¶¶¶¶¶¶¶¶¶´
´¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶´´´¶¶¶¶¶¶´´´
´´¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶´´´´´´´´´´´
´´´¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶´´¶¶¶¶¶¶¶¶´
´´´´´¶¶¶¶¶¶¶¶¶¶¶¶¶¶´´¶¶¶¶¶¶¶¶´
´´´´´´´¶¶¶¶¶¶¶¶¶¶¶´´´¶¶¶¶¶¶¶´´
*/
-- CONSULTA SOBRE LA TABLA
SELECT *
FROM unidadMedida;
-- INSERTAR TUPLS A LA TABLA
INSERT INTO unidadMedida VALUES(1,'metros','mts'),
(2,'unidad','uni');
-- ACTUALIZAR UNA CELDA DE UNA TUPLA
UPDATE unidadMedida SET descripcion = 'metro' WHERE id = 1;
-- ELIMINAR UNA TUPLA POR MEDIO DE UNA REFERENCIA DE CELDA EN LA TABLA
DELETE FROM unidadMedida WHERE descripcion = 'metro';
/*
__^__ __^__
( ___ )------------------------------------( ___ )
| / | | \ |
| / | Select - Distinct - Order By | \ |
|___| |___|
(_____)------------------------------------(_____)
*/
USE sakila;
/*'''''''
============SELECT===============
'''''''*/
-- MOSTRAR DATOS DE UNA TABLA -> FORMA 1
SELECT *FROM sakila.actor;
-- MOSTRAR DATOS DE UNA TABLA -> FORMA 2
SELECT actor_id, first_name,last_name,last_update FROM sakila.actor;
-- MOSTRAR EL MONTO TOTAL EN ALMACÉN POR CADA PRODUCTO.
SELECT codigo,descripcion, (precioCosto*cantidad) FROM producto;
SELECT codigo,descripcion, (precioCosto*cantidad) FROM producto WHERE descripcion = 'Mouse';
-- AS --------------------------------
-- RENOMBRE EL ENCABEZADO DE UNA COLUMNA
SELECT actor_id, first_name AS Nombre, last_name AS Apellido, last_name FROM sakila.actor;
-- MOSTRAR LA GANANCIA POR CADA PRODUCTO, EN CASO SE VENDERÍA LA CANTIDAD TOTAL EN ALMACÉN POR CADA PRODUCTO.
SELECT codigo,descripcion, ((precioVenta-producto.precioCosto) * producto.cantidad ) AS UTILIDAD FROM producto;
-- MAX --------------------------------
--MOSTRAR EL PRECIO MAS ALTO DE VENTA
SELECT MAX(precioVenta) FROM producto;
-- MOSTRAR EL PRECIO DE COSTO MAS ALTO DE TODOS LOS PRODUCTOS QUE EN SU DESCRIPCION COMIENZAN CON M
SELECT MAX(precioCosto) FROM producto WHERE descripcion like 'M%';
-- MIN ------------------------------
-- MOSTRAR EL PRECIO MAS BAJO DE VENTA
SELECT MIN(precioVenta) FROM producto;
-- Mostrar la cantidad minima existente en almacen
SELECT MIN(cantidad) FROM producto;
-- SUM --------------------------------
-- MOSTRAR LA CANTIDAD TOTAL ALMACENADO DE TODOS LOS PROCTOS
SELECT SUM(cantidad) FROM producto;
-- MOSTRAR LA CANTIDAD TOTAL DE PRODUCTOS EN EL ALMACEN DE AQUELLOS QUE TIENE UN PRECIO MAYOR O IGUAL A 20
SELECT SUM(cantidad) FROM producto WHERE precioVenta >= 20;
-- Mostrar el monto total en $us, existente en almacen
SELECT (SUM(precioCosto) * 6.92) AS TOTAL_DOLARES FROM producto;
-- Mostrar el ingreso total en $us, si se vendiera todos los productos existentes en almacen
SELECT (SUM(precioVenta) * 6.92) AS TOTAL_DOLARES FROM producto;
-- COUNT -------------------------------
-- MOSTRAR CUANTOS PRODUCTOS HAY CON UN PRECIO DE VENTA IGUAL A 10 Y 80
SELECT COUNT (*) FROM producto WHERE precioVenta = 10 OR precioVenta= 80;
-- Mostrar cuantos productos hay en almacen que tienen un precio de venta mayor a 60 $us
SELECT COUNT(precioVenta) FROM producto WHERE precioVenta > 60;
-- AVG ----------------------------------
-- MOSTRAR EL PRECIO DE VENTA PROMEDIO SUMA TODO DIVIDIDO EN TRE LA CANTIDAD
SELECT AVG (precioVenta) FROM producto;
-- IS NOT NULL ---------------------------
-- MOSTRAR LOS CLENTES QUE TIENE TELEFONO
SELECT *
FROM cliente
WHERE telef IS NOT NULL;
-- MOSTRAR LA CANTIDAD DE CLIENTES QUE TIENEN TELEFONO
SELECT COUNT(*)
FROM cliente
WHERE telef IS NOT NULL;
-- IS NULL -----------------------------------
--MOSTRAR LOS CLIENTES QUE NO TIENE TELEFONO
SELECT *
FROM cliente
WHERE telef IS NULL;
/*'''''''
============SELECT 'DISTINCT'=============
'''''''*/
-- SELECT DISTINCT - Conocer datos unicos o diferentes
SELECT *FROM sakila.customer;
-- Mostrar los valores distintos que hay en la columma store_id
SELECT DISTINCT (store_id) FROM sakila.customer;
/*'''''''
============ORDER BY 'DESC' - 'ASC'=============
'''''''*/
-- ORDER BY 'COLUMNA' DESC - Orden de forma desendente Z ... A
SELECT *FROM sakila.country ORDER BY country DESC;
-- ORDER BY 'COLUMNA' ASC - Orden de forma desendente A ... Z
SELECT *FROM sakila.country ORDER BY country ASC;
/*'''''''
============WHERE=============
'''''''*/
-- MOSTRAR ENTODA LA TABLA SOBRE LA COLUMNA LAS PERSONAS QUE SE LLAMAN 'DAN'.
SELECT *FROM sakila.actor WHERE actor.first_name = 'DAN'; -- TIPO TEXTO
-- MOSTRAR ENTODA LA TABLA SOBRE LA COLUMNA LOS ID QUE TIENE EL VALOR 102.
SELECT *FROM sakila.city WHERE country_id = 102; -- TIPO NUMERICO
-- MOSTRAR LOS VALORES MAYORES A 50 DE DE UNA TABLA.
SELECT *FROM sakila.inventory WHERE film_id > 50;
-- MOSTRAR LOS VALORES MENORES A 3 DE DE UNA TABLA.
SELECT *FROM sakila.payment WHERE amount < 3;
-- MOSTRAR TODOS LOS PRODUCTOS QUE CON UN PRECIO MAYOR A 50 $US.
SELECT descripcion, precioVenta FROM producto WHERE producto.precioVenta > 50;
-- COMBINADO DISTINCT Y WHERE
-- MOSTRAR LOS VALORES MENORES A 1 DE UNA SOLA COLUMNA
SELECT DISTINCT amount FROM sakila.payment WHERE amount < 1;
-- MOSTRAR LOS VALORES DISTINTOS DE 2 DE UNA TABLA
SELECT *FROM sakila.staff WHERE store_id <> 2; -- TIPO NUMERICO
-- MOSTRAR LOS TEXTOS DISTINTOS DE Italian DE UNA TABLA
SELECT *FROM sakila.language WHERE name <> 'Italian'; -- TIPO TEXTO
/*
\|||/
(o o)
------ooO-(_)-Ooo------
AND - OR - NOT
*/
USE sakila;
-- MOSTRAR LA TABLA ES IGUAL 'Algeria' Y COLUMNA ES IGUAL A 2 - AND
SELECT *FROM sakila.country
WHERE country = 'Algeria' AND country_id = 2;
-- MOSTRAR LA GANANCIA POR CADA PRODUCTO, EN CASO SE VENDERÍA LA CANTIDAD TOTAL EN ALMACÉN POR CADA PRODUCTO.
SELECT codigo,descripcion, ((precioVenta-producto.precioCosto) * producto.cantidad )as UTILIDAD FROM producto;
SELECT *FROM producto WHERE precioVenta >20 AND cantidad<=30
-- MONTO TODAS LA VENTAS REALIZADAS POR PATRICIA AGUILERA
SELECT nombre, nro, fecha, monto
FROM notaVenta, cliente
WHERE notaVenta.cic = cliente.ci AND nombre = 'Patricia Aguilera';
--MOSTRAR EL MONTO TOTAL COMPRADO POR PATRICIA AGUILERA
SELECT SUM(monto) AS 'Patricia Aguilera'
FROM notaVenta, cliente
WHERE notaVenta.cic = cliente.ci AND nombre = 'Patricia Aguilera';
-- MOSTRAR EL MONTO MAS BAJO COMPRADO POR PATRICIA AGUILERA
SELECT MIN(monto) AS 'Patricia Aguilera'
FROM notaVenta, cliente
WHERE notaVenta.cic = cliente.ci AND nombre = 'Patricia Aguilera';
-- CLIENTES QUE TIENE VENTAS POR ENCIMA DE LOS 20 $
SELECT nombre, ci, monto
FROM notaVenta, cliente
WHERE notaVenta.cic = cliente.ci AND monto > 20;
GO
-- MOSTRAR EN LA TABLA LAS TUPLAS UNO O BIEN DE OTRO - OR
SELECT *FROM sakila.language WHERE language_id =1 OR name = 'German';
-- OCULTAR LA TUPLA DE LA TABLA - NOT
SELECT *FROM sakila.category WHERE NOT name = 'Classics';
/*
../'´'´'\
.//^ ^\\ APREDIENDO
(/(_♥_)\). »»» IN «««
._/''*''\_
(/_)^(_ )
*/
USE sakila;
-- TUPLAS QUE HACEN LO MISMO CON OR Y IN
SELECT *FROM sakila.customer WHERE first_name = 'MARY' OR first_name = 'PATRICIA';
SELECT *FROM sakila.customer WHERE first_name IN ('MARY','PATRICIA');
-- MUESTRA TODAS LAS TUPLAS POR MEDIO DE LA COLUMNA Y LA SEGUN LAS CELDAS - IN
SELECT *FROM sakila.film WHERE film.special_features IN ('Trailers','Trailers,Deleted Scenes');
-- FILTRA LAS TUPLAS POR MEDIO VALORES DE CELDA Y UTILIZA AND PARA MAS PROCESOS DE IN
SELECT *FROM sakila.film WHERE special_features IN ('Trailers','Trailers,Deleted Scenes') AND rating IN('G','NC-17')
AND length > 50;
-- NO MOSTRAR EN LA TABLA ALGUNAS TUPLAS POR MEDIO DE UNA CELDA SELECCIONADA
SELECT *FROM sakila.category WHERE name NOT IN ('Action','Animation','Children');
/*
____________________¶¶¶¶¶¶¶¶¶¶_________
___________________ø¶¶´´´´´´´´¶¶¶_______
______ø¶¶¶¶¶¶¶1´´´¶¶´´´´´´´´´´´´¶¶______
____¶¶¶´´´´´´ø¶¶´´¶´´´´´´´´´´´´´´¶¶_____
__¶¶ø´´´´´´´´´´1¶¶¶´´´´´´´´´´´´´´´¶¶____
_¶¶´´´´´´´´´´´´´´¶¶´´¶¶¶¶´´´´´´´´´¶¶____
_¶¢´´´´´´´´´¶¶¶´´´¶´´¶¶¶¶´´´´´´´´´¶¶____
_¶´´´´´´´´´¶¶¶¶¶´´¶¶´´¶¶´´´´´´´´´´¶¶____
_¶´´´´´´´´´´¶¶¶´´´¶¶¶´´´´´´´´´´´´¶¶¶¶___
_¶¶´´´´´´´´´´´´´´´¶´¶¶¶´´´´´´´´¶¶¶´´¶¶__
__¶¶´´´´´´´´´´´´´¶´´´´¶¶¶¶¶¶¶¶¶´´´´´´¶__
___¶¶´´´´´´´´´´¶¶´´´´´´´´´´´´´´´´´´´´¶¶_
___¶¶¶¶¶¶¶¶¶¶¶¶´´´´´´´´´´´´´´´´´´´´´´¶¶_
___¶´´´´´´´´´´´´´´`´´´´´´´´´`´´´´´´´´¶¶_
__¶¶´´´´´´´´´´´´´´´´´´´´´´´```´´´´´´´¶¶_
__¶¶´´´´´´´´´´´´´´´´´´´´´´¶´´´´´´´´´¶¶__
___¶¶´´´´´´´´´¶¶´´´´´´´´´¶¶´´´´´´´´¶¶___
____¶ø´´´´´´´´´¶¶¶´´´´´´¶¶´´´´´´´´¶¶____
_____¶¶7´´´´´´´´´¶¶¶¶$¶¶´´´´´´´´´¶¶_____
_______¶¶¶´´´´´´´´´´´´´´´´´´´´´´¶¶______
_________¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶_______
APRENDIENDO: BETWEEN
*/
USE sakila;
-- MOSTRAR EN TABLA EL LOS VALORES ENTRE INTERVALO/RANGOS DE DOS COLUMMNAS -> BETWEEN
SELECT *FROM sakila.rental WHERE (customer_id BETWEEN 300 AND 350) AND staff_id = 1;
-- MOSTRAR EN LA TABLA LOS VALORES NEGADOS ENTRE INTERVALOS/RENGOS DE DOS COLUMNAS -> NOT BETWEEN
SELECT *FROM sakila.payment WHERE amount NOT BETWEEN 3 AND 5;
-- MOSTRAR LOS PRODUCTOS QUE SU PRECIO DE COSTO ESTE EN ENTRE 20-50
SELECT producto.precioCosto FROM producto WHERE (producto.precioCosto <= 20 AND producto.precioCosto>=50);
SELECT producto.precioCosto FROM producto WHERE producto.precioCosto between 20 AND 50;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment