Skip to content

Instantly share code, notes, and snippets.

@SebastianCastilloDev
Created September 9, 2023 05:21
Show Gist options
  • Select an option

  • Save SebastianCastilloDev/3049e21101c25bdde0162826dfd16ac2 to your computer and use it in GitHub Desktop.

Select an option

Save SebastianCastilloDev/3049e21101c25bdde0162826dfd16ac2 to your computer and use it in GitHub Desktop.
ejercicio 1
CREATE DATABASE aiep_inicio;
USE aiep_inicio;
CREATE TABLE fabricante (
id_fabricante INT identity(1,1) PRIMARY KEY,
nombre VARCHAR(100) NOT NULL
);
CREATE TABLE producto (
id_producto INT IDENTITY(10,10) PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
precio INT,
fabricante INT,
FOREIGN KEY (fabricante) REFERENCES fabricante(id_fabricante)
);
INSERT INTO fabricante VALUES( 'Asus');
INSERT INTO fabricante VALUES( 'Lenovo');
INSERT INTO fabricante VALUES( 'Hewlett-Packard');
INSERT INTO fabricante VALUES( 'Samsung');
INSERT INTO fabricante VALUES( 'Seagate');
INSERT INTO fabricante VALUES( 'Crucial');
INSERT INTO fabricante VALUES( 'Gigabyte');
INSERT INTO fabricante VALUES( 'Huawei');
INSERT INTO fabricante VALUES( 'Xiaomi');
INSERT INTO producto VALUES( 'Disco duro SATA3 1TB', 86.99, 5);
INSERT INTO producto VALUES( 'Memoria RAM DDR4 8GB', 120, 6);
INSERT INTO producto VALUES( 'Disco SSD 1 TB', 150.99, 4);
INSERT INTO producto VALUES( 'GeForce GTX 1050Ti', 185, 7);
INSERT INTO producto VALUES( 'GeForce GTX 1080 Xtreme', 755, 6);
INSERT INTO producto VALUES( 'Monitor 24 LED Full HD', 202, 1);
INSERT INTO producto VALUES( 'Monitor 27 LED Full HD', 245.99, 1);
INSERT INTO producto VALUES( 'Portátil Yoga 520', 559, 2);
INSERT INTO producto VALUES( 'Portátil Ideapd 320', 444, 2);
INSERT INTO producto VALUES( 'Impresora HP Deskjet 3720', 59.99, 3);
INSERT INTO producto VALUES( 'Impresora HP Laserjet Pro M26nw', 180, 3);
--Estudiantes.
--Les adjunto los ejercicios que estaremos realizando hoy en clases.
--Lista el nombre de todos los productos que hay en la tabla producto.
SELECT nombre FROM producto
--Lista los nombres y los precios de todos los productos de la tabla producto.
SELECT nombre, precio FROM producto
--Lista todas las columnas de la tabla producto.
SELECT * FROM producto
--Lista los nombres y los precios de todos los productos de la tabla producto, convirtiendo los nombres a mayúscula.
SELECT UPPER(nombre) as nombreMayus, precio FROM producto
--Lista los nombres y los precios de todos los productos de la tabla producto, convirtiendo los nombres a minúscula.
SELECT LOWER(nombre) as nombreMayus, precio FROM producto
--Lista el nombre de todos los fabricantes en una columna, y en otra columna obtenga en mayúsculas los dos primeros caracteres del nombre del fabricante.
SELECT nombre, UPPER(SUBSTRING(nombre,1,2)) as Nombre2 FROM producto
--Lista el identificador de los fabricantes que tienen productos en la tabla producto.
SELECT fabricante.id_fabricante FROM fabricante INNER JOIN producto ON fabricante.id_fabricante = producto.fabricante;
--Lista el identificador de los fabricantes que tienen productos en la tabla producto, eliminando los identificadores que aparecen repetidos.
SELECT DISTINCT fabricante.id_fabricante FROM fabricante INNER JOIN producto ON fabricante.id_fabricante = producto.fabricante;
--Lista los nombres de los fabricantes ordenados de forma ascendente.
SELECT fabricante.nombre FROM fabricante ORDER BY fabricante.nombre ASC;
--Lista los nombres de los fabricantes ordenados de forma descendente.
SELECT fabricante.nombre FROM fabricante ORDER BY fabricante.nombre DESC;
--Devuelve una lista con las 5 primeras filas de la tabla fabricante.
SELECT TOP 5 * FROM fabricante
--Lista el nombre y el precio del producto más barato. (Utilice solamente las cláusulas ORDER BY y LIMIT)
SELECT TOP 1 nombre, precio FROM producto ORDER BY precio ASC
--Lista el nombre y el precio del producto más caro. (Utilice solamente las cláusulas ORDER BY y LIMIT)
SELECT TOP 1 nombre, precio FROM producto ORDER BY precio DESC
--Lista el nombre de todos los productos del fabricante cuyo identificador de fabricante es igual a 2.
SELECT producto.nombre FROM producto WHERE producto.fabricante = 2
--Lista el nombre de los productos que tienen un precio menor o igual a 120.
SELECT producto.nombre FROM producto WHERE producto.precio <= 120
--Lista el nombre de los productos que tienen un precio mayor o igual a 400.
SELECT nombre FROM producto WHERE precio >= 400
--Lista el nombre de los productos que no tienen un precio mayor o igual a 400.
SELECT nombre FROM producto WHERE NOT precio >= 400
--Lista todos los productos que tengan un precio entre 80 y 300. Sin utilizar el operador BETWEEN.
SELECT * FROM producto WHERE precio >= 80 AND precio <= 300
--Lista todos los productos que tengan un precio entre 60 y 200. Utilizando el operador BETWEEN.
SELECT * FROM producto WHERE precio BETWEEN 60 AND 200
--Lista todos los productos que tengan un precio mayor que 200 y que el identificador de fabricante sea igual a 6.
SELECT * FROM producto WHERE precio > 200 AND fabricante = 6
--Lista todos los productos donde el identificador de fabricante sea 1, 3 o 5.
SELECT * FROM producto WHERE fabricante = 1 OR fabricante = 3 OR fabricante = 5
SELECT * FROM producto WHERE fabricante IN (1,3,5)
--Lista los nombres de los fabricantes cuyo nombre empiece por la letra S.
SELECT fabricante.nombre FROM fabricante WHERE SUBSTRING(fabricante.nombre,1,1) = 'S'
SELECT fabricante.nombre FROM fabricante WHERE LEFT(fabricante.nombre,1) = 'S'
--Lista los nombres de los fabricantes cuyo nombre termine por la vocal e.
SELECT fabricante.nombre FROM fabricante WHERE SUBSTRING(fabricante.nombre,LEN(fabricante.nombre),1) = 'e'
SELECT fabricante.nombre FROM fabricante WHERE RIGHT(fabricante.nombre,1) = 'e'
--Lista los nombres de los fabricantes cuyo nombre contenga el carácter w.
SELECT nombre FROM fabricante WHERE PATINDEX('%w%',nombre) <> 0
--Lista los nombres de los fabricantes cuyo nombre sea de 4 caracteres.
SELECT nombre FROM fabricante WHERE LEN(nombre) = 4
--Devuelve una lista con el nombre de todos los productos que contienen la cadena Portátil en el nombre.
SELECT nombre FROM producto WHERE PATINDEX('%Portátil%',nombre) <> 0
--Devuelve una lista con el nombre de todos los productos que contienen la cadena Monitor en el nombre y tienen un precio inferior a 215 .
SELECT nombre FROM producto WHERE PATINDEX('%Monitor%',nombre) <> 0 and precio < 215
--Lista el nombre y el precio de todos los productos que tengan un precio mayor o igual a 180. Ordene el resultado en primer lugar por el precio (en orden descendente).
SELECT nombre, precio FROM producto WHERE precio >= 180 ORDER BY precio DESC
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment