Created
September 9, 2023 05:21
-
-
Save SebastianCastilloDev/3049e21101c25bdde0162826dfd16ac2 to your computer and use it in GitHub Desktop.
ejercicio 1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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