TEST BORRADO, QUIZÁS LE INTERESE: Consultas BBDD SQL
COMENTARIOS | ESTADÍSTICAS | RÉCORDS |
---|
REALIZAR TEST
Título del Test:
Consultas BBDD SQL Descripción: Linkia BBDD Plan Nuevo DML MySQL Autor:
Fecha de Creación: 15/01/2025 Categoría: Informática Número Preguntas: 29 |
COMPARTE EL TEST
Comentar
No hay ningún comentario sobre este test.
Temario:
¿Cuál consulta devuelve los nombres de los empleados con el salario más alto? SELECT nombre
FROM empleados
WHERE salario > (SELECT AVG(salario) FROM empleados); SELECT nombre
FROM empleados
WHERE salario = (SELECT MAX(salario) FROM empleados); SELECT nombre
FROM empleados
WHERE salario < (SELECT MAX(salario) FROM empleados); SELECT nombre
FROM empleados
WHERE salario IN (SELECT salario FROM empleados);. ¿Cuál consulta devuelve los nombres de los clientes que tienen más de un pedido realizado? SELECT nombre FROM clientes WHERE id_cliente IN (SELECT id_cliente FROM pedidos GROUP BY id_cliente HAVING COUNT(*) > 1); SELECT nombre FROM clientes WHERE id_cliente = (SELECT id_cliente FROM pedidos GROUP BY id_cliente HAVING COUNT(*) > 1); SELECT nombre FROM clientes WHERE id_cliente IN (SELECT id_cliente FROM pedidos GROUP BY id_cliente HAVING COUNT(*) = 1); SELECT nombre FROM clientes; . ¿Cuál consulta devuelve los nombres de los productos vendidos en la categoría 'Electrónica'? SELECT nombre FROM productos WHERE id_categoria = 'Electrónica'; SELECT nombre FROM productos WHERE id_categoria = (SELECT id_categoria FROM categorias WHERE nombre = 'Electrónica'); SELECT nombre FROM productos WHERE id_categoria = (SELECT nombre FROM categorias WHERE nombre = 'Electrónica'); SELECT nombre FROM productos; . ¿Cuál consulta devuelve los nombres de los departamentos que tienen más de 5 empleados? SELECT nombre_departamento FROM departamentos WHERE id_departamento IN (SELECT id_departamento FROM empleados GROUP BY id_departamento HAVING COUNT(*) > 5); SELECT nombre_departamento FROM departamentos WHERE id_departamento IN (SELECT id_departamento FROM empleados WHERE COUNT(*) > 5); SELECT nombre_departamento FROM departamentos WHERE id_departamento = (SELECT id_departamento FROM empleados GROUP BY id_departamento HAVING COUNT(*) > 5); SELECT nombre_departamento FROM departamentos; . ¿Cuál consulta devuelve los empleados con la fecha de contratación más antigua? SELECT nombre FROM empleados WHERE fecha_contratacion = (SELECT MAX(fecha_contratacion) FROM empleados); SELECT nombre FROM empleados WHERE fecha_contratacion = (SELECT MIN(fecha_contratacion) FROM empleados); SELECT nombre FROM empleados WHERE fecha_contratacion < (SELECT MAX(fecha_contratacion) FROM empleados); SELECT nombre FROM empleados WHERE fecha_contratacion > (SELECT MIN(fecha_contratacion) FROM empleados); . Lista las ofertas de Madrid o Sevilla. SELECT * FROM ofertas WHERE ubicacion IN ('Madrid', 'Sevilla'); SELECT * FROM ofertas WHERE ubicacion = 'Madrid' OR ubicacion = 'Sevilla'; SELECT * FROM ofertas WHERE ubicacion IN (Sevilla, Madrid); SELECT * FROM ofertas WHERE ubicacion NOT IN ('Madrid', 'Sevilla'); . Lista las ofertas de Barcelona con un salario entre 40000 y 55000 euros. SELECT * FROM ofertas WHERE ubicacion IN ('Barcelona') AND salario BETWEEN 40000 AND 55000; SELECT * FROM ofertas WHERE ubicacion = 'Barcelona' AND salario >= 40000 OR salario <= 55000; SELECT * FROM ofertas WHERE ubicacion = 'Barcelona' AND salario > 40000 AND salario < 55000; SELECT * FROM ofertas WHERE ubicacion IN ('Barcelona') AND salario BETWEEN 45000 AND 60000; . Lista las ofertas que en su título aparece la palabra "Desarrollador". SELECT * FROM ofertas WHERE titulo LIKE '%Desarrollador%'; SELECT * FROM ofertas WHERE titulo = 'Desarrollador'; SELECT * FROM ofertas WHERE titulo LIKE '_Desarrollador_'; SELECT * FROM ofertas WHERE titulo LIKE 'Desarrollador%'; . Lista las ofertas de Madrid ordenadas por salario de forma decreciente. SELECT * FROM ofertas WHERE ubicacion = 'Madrid' ORDER BY salario ASC; SELECT * FROM ofertas WHERE ubicacion IN ('Madrid') ORDER BY salario DESC; SELECT * FROM ofertas WHERE ubicacion = 'Madrid' ORDER BY salario; SELECT * FROM ofertas WHERE ubicacion IN ('Madrid'); . ¿Cuántas ofertas presenta cada empresa, incluyendo aquellas que no tienen ofertas? SELECT e.nombre_empresa, COUNT(o.id_oferta) AS total_ofertas FROM empresas e LEFT JOIN ofertas o ON e.id_empresa = o.id_empresa GROUP BY e.nombre_empresa; SELECT e.nombre_empresa, COUNT(o.id_oferta) FROM empresas e INNER JOIN ofertas o ON e.id_empresa = o.id_empresa GROUP BY e.nombre_empresa; SELECT e.nombre_empresa, SUM(o.id_oferta) AS total_ofertas FROM empresas e LEFT JOIN ofertas o ON e.id_empresa = o.id_empresa GROUP BY e.nombre_empresa; SELECT e.nombre_empresa, COUNT(o.id_oferta) FROM empresas e LEFT JOIN ofertas o ON e.id_empresa = o.id_empresa; . ¿Cuál es el salario medio de las ofertas por ciudad? SELECT ubicacion, AVG(salario) AS salario_medio FROM ofertas GROUP BY ubicacion; SELECT ciudad, AVG(salario) AS salario_medio FROM ofertas GROUP BY ciudad; SELECT ubicacion, SUM(salario) AS salario_total FROM ofertas GROUP BY ubicacion; SELECT ciudad, salario_medio FROM ofertas GROUP BY ubicacion; . ¿Cuál consulta devuelve las empresas con más de 3 ofertas? SELECT e.nombre_empresa, COUNT(o.id_oferta) AS total_ofertas FROM empresas e INNER JOIN ofertas o ON e.id_empresa = o.id_empresa GROUP BY e.nombre_empresa HAVING COUNT(o.id_oferta) > 3; SELECT nombre_empresa, COUNT(id_oferta) FROM empresas WHERE COUNT(id_oferta) > 3; SELECT e.nombre_empresa, COUNT(o.id_oferta) FROM empresas e LEFT JOIN ofertas o ON e.id_empresa = o.id_empresa HAVING COUNT(o.id_oferta) > 3; SELECT e.nombre_empresa FROM empresas e INNER JOIN ofertas o ON e.id_empresa = o.id_empresa WHERE COUNT(o.id_oferta) > 3; . ¿Cuál es la empresa que ofrece un salario más elevado? SELECT e.nombre_empresa, o.titulo, o.salario FROM ofertas o INNER JOIN empresas e ON o.id_empresa = e.id_empresa WHERE o.salario = (SELECT MAX(salario) FROM ofertas); SELECT e.nombre_empresa, MAX(o.salario) FROM empresas e INNER JOIN ofertas o ON e.id_empresa = o.id_empresa; SELECT MAX(salario) FROM ofertas WHERE id_empresa = (SELECT id_empresa FROM empresas); SELECT e.nombre_empresa FROM empresas e WHERE o.salario = MAX(salario); . Lista las ofertas cuyo salario es superior al de la oferta "Analista Financiero". SELECT * FROM ofertas WHERE salario > (SELECT salario FROM ofertas WHERE titulo = 'Analista financiero') GROUP BY salario; SELECT * FROM ofertas WHERE salario > (SELECT salario FROM ofertas WHERE titulo = 'Analista financiero') ORDER BY salario DESC; SELECT * FROM ofertas WHERE salario = (SELECT salario FROM ofertas WHERE titulo = 'Analista financiero'); SELECT * FROM ofertas WHERE salario > (SELECT AVG(salario) FROM ofertas); . Lista las ofertas de Madrid cuyo salario es superior a la media de los salarios de todas las ofertas. SELECT * FROM ofertas WHERE salario > (SELECT AVG(salario) FROM ofertas); SELECT * FROM ofertas WHERE ubicacion = 'Madrid' AND salario > (SELECT AVG(salario) FROM ofertas); SELECT * FROM ofertas WHERE ubicacion = 'Madrid' OR salario > (SELECT AVG(salario) FROM ofertas); SELECT * FROM ofertas WHERE ubicacion = 'Madrid'; . Aumenta el salario del 'Desarrollador Mobile' un 5%. UPDATE ofertas SET salario = salario + 5 WHERE titulo = 'Desarrollador Mobile'; UPDATE ofertas SET salario = salario + (salario * 0.05) WHERE titulo = 'Desarrollador Mobile'; UPDATE ofertas SET salario = salario * 0.05 WHERE titulo = 'Desarrollador Mobile'; UPDATE ofertas SET salario = salario * 1.05; . Cambia el título y la descripción de la oferta con el ID 7. UPDATE ofertas SET titulo = 'Analista financiero', descripcion = 'Especialista en encontrar empresas potencialmente alcistas' WHERE id_oferta = 7; UPDATE ofertas SET titulo = 'Analista financiero' AND descripcion = 'Especialista en encontrar empresas potencialmente alcistas' WHERE id_oferta = 7; UPDATE ofertas SET titulo = 'Analista financiero' WHERE id_oferta = 7; UPDATE ofertas SET descripcion = 'Especialista en encontrar empresas potencialmente alcistas' WHERE id_oferta = 7; . Borra la oferta número 5. DELETE FROM ofertas WHERE id_oferta = 5; DROP oferta WHERE id_oferta = 5; REMOVE FROM ofertas WHERE id_oferta = 5; DELETE oferta WHERE id_oferta = 5; . Incrementa un 10% el salario de las ofertas de las empresas ubicadas en Bilbao. UPDATE ofertas SET salario = salario * 1.1 WHERE ubicacion = 'Bilbao'; UPDATE ofertas SET salario = salario + (salario * 0.1) WHERE ubicacion = 'Bilbao'; UPDATE ofertas SET salario = salario * 0.1 WHERE ubicacion = 'Bilbao'; UPDATE ofertas SET salario = salario + 10 WHERE ubicacion = 'Bilbao'; . Modifica las tablas para permitir borrar en cascada las ofertas al eliminar una empresa. ALTER TABLE ofertas ADD CONSTRAINT fk_empresa_oferta FOREIGN KEY (id_empresa) REFERENCES empresas(id_empresa) ON DELETE CASCADE; ALTER TABLE empresas ADD CONSTRAINT fk_oferta_empresa FOREIGN KEY (id_empresa) REFERENCES ofertas(id_oferta) ON DELETE CASCADE; ALTER TABLE ofertas MODIFY COLUMN id_empresa ON DELETE CASCADE; ALTER TABLE empresas DROP CONSTRAINT fk_empresa_oferta ON DELETE CASCADE; . Añade un campo plus de tipo decimal (8,2) a la tabla ofertas. ALTER TABLE ofertas ADD plus FLOAT(8,2); ALTER TABLE ofertas ADD COLUMN plus DECIMAL(8,2); ALTER TABLE ofertas ADD COLUMN plus INT(8,2); ALTER TABLE ofertas ADD plus DOUBLE(8,2); . Rellena el campo plus con el 10% del salario, pero solo para las ofertas que contienen la palabra "desarrollador". UPDATE ofertas SET plus = salario * 0.1; UPDATE ofertas SET plus = salario * 0.1 WHERE titulo LIKE 'Desarrollador%'; UPDATE ofertas SET plus = salario * 0.1 WHERE titulo LIKE '%desarrollador%'; UPDATE ofertas SET plus = salario * 0.1 WHERE salario > 0; . Elimina el campo plus de la tabla ofertas. ALTER TABLE ofertas REMOVE COLUMN plus; ALTER TABLE ofertas DROP plus; ALTER TABLE ofertas DROP COLUMN plus; ALTER TABLE ofertas DELETE plus; . Incrementa un 15% el salario de todas las ofertas ubicadas en "Barcelona". UPDATE ofertas SET salario = salario + (salario * 0.15) WHERE ubicacion = 'Barcelona'; UPDATE ofertas SET salario = salario * 0.15 WHERE ubicacion = 'Barcelona'; UPDATE ofertas SET salario = salario + 15 WHERE ubicacion = 'Barcelona'; UPDATE ofertas SET salario = salario + (salario * 15) WHERE ubicacion = 'Barcelona'; . Cambia el título de la oferta con ID 12 a "Desarrollador Backend". UPDATE ofertas SET titulo = 'Desarrollador Backend' WHERE id_oferta = 12; UPDATE ofertas SET titulo = 'Backend' WHERE id_oferta = 12; UPDATE ofertas SET titulo = 'Desarrollador Backend' WHERE titulo = 'Backend'; UPDATE ofertas SET id_oferta = 12 WHERE titulo = 'Desarrollador Backend'; . Añade un campo llamado bonus a la tabla ofertas y rellénalo con el 20% del salario para todas las ofertas cuyo salario sea superior a 30000. ALTER TABLE ofertas ADD COLUMN bonus FLOAT; UPDATE ofertas SET bonus = salario * 0.2 WHERE salario > 30000; ALTER TABLE ofertas ADD bonus DECIMAL(8,2); UPDATE ofertas SET bonus = salario + (salario * 0.2) WHERE salario > 30000; ALTER TABLE ofertas ADD COLUMN bonus DECIMAL(8,2); UPDATE ofertas SET bonus = salario * 0.2 WHERE salario > 30000; ALTER TABLE ofertas ADD bonus; UPDATE ofertas SET bonus = salario / 0.2 WHERE salario > 30000; . Elimina todas las ofertas ubicadas en "Sevilla". DELETE * FROM ofertas WHERE ubicacion = 'Sevilla'; DELETE FROM ofertas WHERE ubicacion = 'Sevilla'; DELETE FROM ofertas WHERE titulo = 'Sevilla'; DELETE WHERE ubicacion = 'Sevilla'; . Elimina todas las ofertas cuyo salario sea menor a 20000. DELETE FROM ofertas WHERE salario < 20000; DELETE ofertas WHERE salario < 20000; DELETE FROM ofertas WHERE salario > 20000; DELETE WHERE salario < 20000; . Elimina la oferta con el título "Junior Developer". DELETE FROM ofertas WHERE titulo = 'Junior Developer'; DELETE * FROM ofertas WHERE titulo = 'Junior Developer'; DELETE ofertas WHERE titulo = 'Junior Developer'; DELETE FROM ofertas WHERE titulo LIKE 'Junior Developer%'; . |
Denunciar Test