Cuarenta preguntas de práctica de consultas complejas de MYSQL (dificultad baja)

Ejercicios de consulta simple de MYSQL, quiero hacer una conexión más compleja de la siguiente manera:
https://blog.csdn.net/weixin_50843918/article/details/123086590?spm=1001.2014.3001.5501

Ve al grano

Crear una base de datos, crear una tabla, insertar datos

El código se puede copiar directamente en orden

-- 建库
CREATE DATABASE `emp`;
-- 打开库
USE emp;
-- 建dept表
CREATE TABLE `dept`( `deptno` INT(2) NOT NULL, `dname` VARCHAR(14), `loc` VARCHAR(13), CONSTRAINT pk_dept PRIMARY KEY(deptno) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 键emp表
CREATE TABLE `emp` ( `empno` int(4) NOT NULL PRIMARY KEY, `ename` VARCHAR(10), `job` VARCHAR(9), `mgr` int(4), `hiredate` DATE, `sal` float(7,2), `comm` float(7,2), `deptno` int(2), CONSTRAINT fk_deptno FOREIGN KEY(deptno) REFERENCES dept(deptno) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 建salgrade表
CREATE TABLE `salgrade` ( `grade` int, `losal` int, `hisal` int ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 插入数据
INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK'); 
INSERT INTO dept VALUES (20,'RESEARCH','DALLAS');
INSERT INTO dept VALUES (30,'SALES','CHICAGO'); 
INSERT INTO dept VALUES (40,'OPERATIONS','BOSTON');
INSERT INTO EMP VALUES (7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20); 
INSERT INTO EMP VALUES (7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600,300,30); 
INSERT INTO EMP VALUES (7521,'WARD','SALESMAN',7698,'1981-02-22',1250,500,30); 
INSERT INTO EMP VALUES (7566,'JONES','MANAGER',7839,'1981-04-02',2975,NULL,20);
INSERT INTO EMP VALUES (7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250,1400,30); 
INSERT INTO EMP VALUES (7698,'BLAKE','MANAGER',7839,'1981-05-01',2850,NULL,30); 
INSERT INTO EMP VALUES (7782,'CLARK','MANAGER',7839,'1981-06-09',2450,NULL,10); 
INSERT INTO EMP VALUES (7788,'SCOTT','ANALYST',7566,'1987-07-13',3000,NULL,20); 
INSERT INTO EMP VALUES (7839,'KING','PRESIDENT',NULL,'1981-11-07',5000,NULL,10); 
INSERT INTO EMP VALUES(7844,'TURNER','SALESMAN',7698,'1981-09-08',1500,0,30); 
INSERT INTO EMP VALUES (7876,'ADAMS','CLERK',7788,'1987-07-13',1100,NULL,20); 
INSERT INTO EMP VALUES (7900,'JAMES','CLERK',7698,'1981-12-03',950,NULL,30); 
INSERT INTO EMP VALUES (7902,'FORD','ANALYST',7566,'1981-12-03',3000,NULL,20); 
INSERT INTO EMP VALUES (7934,'MILLER','CLERK',7782,'1982-01-23',1300,NULL,10);
INSERT INTO SALGRADE VALUES (1,700,1200); 
INSERT INTO SALGRADE VALUES (2,1201,1400); 
INSERT INTO SALGRADE VALUES (3,1401,2000); 
INSERT INTO SALGRADE VALUES (4,2001,3000); 
INSERT INTO SALGRADE VALUES (5,3001,9999);

tabla dept: tabla
inserte la descripción de la imagen aquí
emp: tabla
inserte la descripción de la imagen aquí
salgrade:
inserte la descripción de la imagen aquí

campo Descripción

Tabla de empleados:
registra la información básica de un empleado EMP (tabla de empleados)
NO ----------- campo --------------- tipo------ -------------Descripción
1 ---------EMPNO ------ NÚMERO(4)---------- Número de empleado
2 -- -- -----ENAME----- VARCHAR2(10) ---- significa el nombre del empleado
3 ----------TRABAJO ----------VARCHAR2(9) -- --- significa puesto de trabajo
4--------- MGR ---------NUMBER(4) significa el líder de un empleado número
5 ------HIREDATE ----- - ---FECHA------------ significa fecha de contratación
6 -------SAL ------------NÚMERO(7,2) --- - --Indica salario mensual, salario
7 ------COMM ---------NUMBER(7,2)------ Indica bono o comisión
8------ DEPTNO- -- ----- NÚMERO(2)------- Indica el número de departamento

DEPT (Tabla de departamentos) Tabla de departamentos: Indica la información específica de un departamento
NO ------ Campo ---------------- Tipo ---------- --- ---Descripción
1------ DEPTNO -------NÚMERO(2)--------- Departamento Número
2 -------DNAME---- --- - VARCHAR2(14)---- Nombre del departamento
3--------- LOC ----------VARCHAR2(13)------ Ubicación del departamento

BONUS (tabla de bonificación) tabla de bonificación: Indica el salario y la bonificación de un empleado. NO ------- Campo ----- Tipo ----- Descripción
1 ---- ----ENAME------- VARCHAR2(10) ------Nombre del empleado
2--------- TRABAJO----------- VARCHAR2(9 )------- Empleado Trabajo
3------- SAL------ ------- NÚMERO------------- Salario del empleado
4 ------ COMUNICACIÓN--------- NÚMERO--------- ---- bono de empleado

SALGRADE (tabla de calificaciones salariales) Una empresa tiene un sistema de calificaciones, usando esta tabla para representar una calificación salarial
NO--------- Campo---------Tipo-------- - -----------Descripción
1 ----------GRAD--------- NÚMERO--------- Grado Nombre
2--- - ----- LOSAL------- NUMERO- ------- Salario minimo para este grado

preguntas de prueba

–Entrenamiento de práctica de SQL uno

1. Seleccione el empleado en el departamento 30 select * from emp where deptno=30
2. Recupere el nombre del empleado, el ingreso mensual y el número de departamento en la tabla emp select ename,sal,deptno from emp
3. Recupere el nombre del empleado en el tabla emp y tiempo de empleo (el tiempo de empleo se muestra de acuerdo con aaaa-mm-dd) seleccione el nombre del empleado, concat('¥', round(sal 12)) ingresos anuales de emp
4. Recupere el número y tipo de departamento de trabajo en la tabla emp, y elimine Repita fila seleccione distinto deptno, job from emp
5. Recupere el nombre del empleado en la tabla emp y el ingreso mensual anual seleccione enname, sal
12 from emp
6. Use el nombre para mostrar el nombre del empleado y el ingreso anual para mostrar el ingreso mensual anual. select ename,sal from emp where sal>2000
7. Recupere los nombres y el ingreso mensual de los empleados con ingresos mensuales superiores a 2000 select ename,sal from emp where sal>2000
;Ingreso mensual y tiempo de empleoselect ename,sal,hiredate from emp donde sal entre 1000 y 2000
9. Recuperar nombres de empleados que comienzan con S e ingresos mensuales seleccione ename,sal from emp where ename como 'S%'
10. Recuperar emp El nombre y número de departamento
11 del empleado cuyo ingreso mensual es 800 o 1250 en la tabla, y la información de todos los empleados cuyo puesto es CAJERO en el departamento 20
12. Visualizar la información de todos los empleados cuyo salario es superior a 2500 o cuyo cargo es GERENTE
13. Recuperar el nombre, ingreso mensual y bono del empleado con bono en la
tabla emp 14. Recuperar el nombre, ingreso mensual y comisión del empleado cuyo número de departamento es 30 en la tabla emp, Y solicite que sus resultados se muestren en orden ascendente de ingresos mensuales, luego en orden descendente de comisión
15, enumere los nombres, números y departamentos de todos los empleados
16, averigüe los empleados con comisión más alta que el salario
17, encuentre todos los gerentes en el departamento 10 y todos los gerentes en el departamento 20 Detalles de todos los empleados
18. Busque todos los gerentes en el departamento 10, todos los empleados en el departamento 20, detalles de todos los empleados que no son gerentes ni empleados pero cuyo salario es >= 2000
19. Encuentre diferentes trabajos de empleados que reciben bonificaciones
20. Encuentre empleados que no reciben bonificaciones o que reciben menos de 100 bonificaciones
21. Encuentre todos los empleados
que están empleados desde el penúltimo día de cada mes
. Empleado empleado
24, Mostrar nombre de empleado exactamente 6 caracteres
25, Mostrar nombre de empleado sin 'R'
26, Mostrar detalles de empleado, Ordenar por nombre
27, Mostrar nombre de empleado, según años de servicio Empleado más antiguo primero
28 Muestra los nombres, trabajos y salarios de todos los empleados, ordenados por trabajo en orden descendente y los mismos trabajos en orden ascendente de salario
29 Muestra los nombres de todos los empleados y el año y mes en que se unieron a la empresa, ordenados por Ordenado por mes en que se contrató al empleado, con elementos de año más antiguo primero

30. Muestre los salarios diarios
mesde todos los empleados en un 34, muestre los años de servicio de todos los empleados en año, mes y día35 , seleccione el nombres de los empleados que tienen bonificaciones en la empresa (COMM no está vacío, y no es 0), Salario y tasa de bonificación, en orden inverso al salario, en orden inverso a la tasa de bonificación 36. Seleccione el nombre y el puesto del empleado que no tiene gerente en la empresa 37. Seleccione el nombre y tiempo de empleo del empleado que fue contratado en 1987. 38. Seleccione el día 20 o 10 El nombre y número de departamento del empleado que trabaja en el departamento Nombre y salario de los empleados que son no en 5000 a 12000 41. Consulta el nombre y número de departamento de los empleados cuyo número de empleado es 7934. 42. Consulta el nombre y salario de los empleados cuyo salario es superior a 1200.










La pregunta es relativamente simple, si necesita la respuesta, puede dejar un mensaje en el área de comentarios.

Supongo que te gusta

Origin blog.csdn.net/weixin_50843918/article/details/123446103
Recomendado
Clasificación