seleccione * de emp donde deptno = 30;
2. Nombres, números y números de departamento de todos los vendedores.
seleccione ename,empno,mgr de emp
3. Encuentre empleados cuya bonificación sea superior al salario.
seleccione * de emp donde sai < comm;
4. Encuentre empleados cuya bonificación sea un 60% mayor que su salario.
seleccione * de emp donde sai < (comm * 0.6);
5. Descubra los detalles de todos los gerentes en el departamento número 10 y todos los vendedores en el departamento número 20.
seleccione * de emp donde número de departamento en (10,20) y trabajo en ('gerente', 'vendedor');
6. Encuentre todos los gerentes en el departamento número 10, todos los vendedores en el departamento número 20 y los detalles de todos los empleados que no son ninguno de los dos. gerentes ni vendedores pero cuyo salario sea mayor o igual a 20000.
seleccione * de emp donde (nºdepto = 10 y trabajo = 'Gerente') o (nºdepto = 20 y trabajo = 'Ventas') o (sai >= 20000 y trabajo!= 'Gerente' y trabajo!='Ventas');
7. Empleados sin bonificación o bonificación inferior a 1000.
seleccione * de emp donde comm es nulo o comm < 1000.
8. Consulta a los empleados cuyos nombres constan de tres caracteres.
seleccione * de emp donde longitud (ename) = 9;
9. Consulta los empleados que se unieron en 2000.
seleccione * de emp donde año (fecha de contratación) = 2000;
10. Consulte la información detallada de todos los empleados y ordénelos en orden ascendente por número
seleccione * de emp orden por empno;
11. Consulte la información detallada de todos los empleados y ordénelos por salario en orden descendente. Si el salario es el mismo, use la entrada Fecha en orden ascendente
seleccione * de emp orden por sai desc,hiredate;
12. Consulte el salario promedio de cada departamento
seleccione deptno,avg(sai) como total del grupo emp por deptno;
13. Consulta el número de empleados en cada departamento
selecciona deptno, cuenta (trabajo) como total del grupo emp por deptno;
14. Consulta el salario máximo, salario mínimo y número de personas para cada trabajo
selecciona job,max(sai) ,min(sai),count(job) del grupo emp por trabajo;
selecciona el nombre, GROUP_CONCAT(ename) de emp3 e RIGHT JOIN dept3 d on e.dept_id = d.deptno GROUP BY name;
2 Consulta a los empleados del departamento de I+D,
selecciona el nombre, GROUP_CONCAT(ename) de emp3 e RIGHT JOIN dept3 d en e.dept_id = d.deptno y nombre = 'departamento de I+D';
3. Consulte a los empleados del departamento de I+D y del departamento de ventas,
seleccione el nombre, GROUP_CONCAT(ename) de emp3 e RIGHT JOIN dept3 d en e.dept_id = d.deptno agrupar por nombre y d.name='Departamento de I+D' o d.name='Departamento de Ventas';
4. Consulta el número de empleados en cada departamento y ordénalos en orden ascendente,
selecciona nombre, cuenta (deptno) como total de emp3 e izquierda JOIN dept3 d en e.dept_id = d.deptno GROUP BY d.name HAVING NAME no es nulo ORDEN POR total 5.
Consulta los departamentos con un número mayor o igual a 3 y ordénalos en orden descendente según el número de personas
seleccione nombre, cuente (deptno) como total de emp3 e left ÚNASE a dept3 d en e.dept_id = d.deptno GROUP BY d.name HAVING NAME no es nulo y total> 1 ORDEN POR descripción total
Agregar nueva tabla de empleados emp y departamento de tabla de departamento
crear tabla departamento (dept1 int, nombre_depto varchar(11));
crear tabla emp (sid int, nombre varchar(11), edad int, fecha de inicio_tiempo de trabajo, int entrante, dept2 int);
insertar en los valores del departamento
(101, 'finanzas'),
(102, 'ventas'),
(103, 'tecnología de TI'),
(104, 'administración');
insertar en valores emp
(1789,'Zhang San',35,'1980/1/1',4000,101),
(1674,'Li Si',32,'1983/4/1',3500,101 ),
(1776,'Wang Wu',24,'1990/7/1',2000,101),
(1568,'Zhao Liu',57,'1970/10/11',7500,102),
(1564 , 'Rongqi',64,'1963/10/11',8500,102),
(1879,'Niuba',55,'1971/10/20',7300,103);
1. Descubra el nombre del empleado de mayor edad en el departamento de ventas,
seleccione el nombre de emp e, departamento d donde e.dept2=d.dept1 y dept_name='sales' y edad=(seleccione max(age) de emp donde dept2= (seleccione departamento1 del departamento donde nombre_depto='ventas'));
2. Busque el nombre del empleado con el salario mínimo en el departamento financiero,
seleccione nombre de emp e, departamento d donde e.dept2=d.dept1 y nombre_depto=' finanzas' y entrante=(
seleccione min(entrante) de emp donde departamento2=(seleccione departamento1 de departamento donde nombre_depto='servicio'));
3. Enumere los nombres de los departamentos cuyos ingresos totales de cada departamento sean superiores a 9000
seleccione nombre_depto de departamento d, (seleccione departamento2 del grupo emp por departamento2 con suma (entrante)> 9000) e donde d.dept1 = e.dept2;
4. Pregunte por el salario entre 7500 y 8500 yuanes,
seleccione el nombre y el departamento de la persona de mayor edad nombre_depto, `nombre` de emp e ÚNETE A LA DERECHA departamento d en e.dept2 = d.dept1 DONDE entrante >= 7500 Y entrante <= 8500 y d.dept_name = 'ventas' PEDIDO POR edad desc LÍMITE 1;
5. Encuentre la hora de entrada del empleado con los ingresos más bajos en el departamento de ventas
SELECT worktime_start FROM emp e RIGHT JOIN dept d ON e.dept2 = d.dept1 donde d.dept_name = 'Ventas' ORDEN POR LÍMITE ASC entrante 1;
6 Los ingresos del departamento financiero exceden Seleccione el nombre
de emp e RIGHT JOIN dept d en e.dept2 = d.dept1 donde d.dept_name = 'finanzas' y entrante > 2000;
7. Enumere el ingreso promedio y el nombre del departamento de cada departamento.
seleccione nombre_depto, AVg(entrante) de emp e UNIRSE A LA DERECHA departamento d en e.dept2 = d.dept1 agrupar por nombre_depto
8.
Seleccione sid de emp e UNIRSE A LA DERECHA departamento d en e.dept2 = d.dept1 donde d.nombre_depto = 'Tecnología de TI'
9. La suma de los ingresos del departamento financiero;
seleccione nombre_depto, suma (entrante) de emp e JOIN DERECHO departamento d en e.dept2 = d.dept1 WHERE d.nombre_dept = 'finanzas';
10. Ordenar por departamento primero el número y luego ordene la tabla de información de los empleados de temprano a tarde de acuerdo con la hora de entrada
seleccione * de emp e ÚNETE A LA DERECHA departamento d en e.dept2 = d.dept1 ORDENAR POR dept2, inicio_tiempo de trabajo
11. Descubra qué departamento aún no tiene empleados,
seleccione nombre_depto de emp e ÚNETE A LA DERECHA departamento d en e.dept2 = d. dept1 WHERE worktime_start es NULL;
12. Enumere el número de departamento y el nombre del departamento de los empleados del departamento cuyos ingresos son superiores a 7000;
seleccione dept1, nombre_dept de emp e RIGHT JOIN dept d en e.dept2 = d.dept1 WHERE entrante > 7000;
13 Enumere los ingresos totales de los empleados y el nombre del departamento de cada departamento;
seleccione nombre_depto, suma (entrante) de emp e ÚNASE A LA DERECHA departamento d en e.dept2 = d.dept1 grupo por nombre_depto
14. Enumere el nombre y el nombre del departamento del empleado de mayor edad en cada departamento,
seleccione MAX(edad), nombre_depto de emp e JOIN DERECHO departamento d en e.dept2 = d.dept1 grupo por nombre_depto
15. Busque los ingresos de Li Si y el nombre del departamento
seleccione `nombre`, entrante, nombre_depto de emp e ÚNASE A LA DERECHA departamento d en e.dept2 = d.dept1 donde nombre = 'Li Si'
16. Enumere los nombres de los empleados con los ingresos más altos en cada departamento, nombre del departamento, ingresos y seleccione nombre, MAX (entrante), nombre_depto de emp e JOIN DERECHO departamento d en e.dept2 = d.dept1 grupo por nombre_depto en orden descendente de ingresos ;
17. Enumere los nombres de los departamentos con más de 1 empleado,
seleccione nombre_depto, departamento2 de emp e ÚNASE A LA DERECHA departamento d en e.dept2 = d.dept1 grupo por nombre_depto HAVING COUNT(dept2) > 1; 19.
Encuentre dónde se encuentra Zhang San Nombre del departamento
seleccione nombre_departamento de emp e ÚNASE A LA DERECHA departamento d en e.dept2 = d.dept1 donde nombre = 'Zhang San'