Mi información de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Combine varias tablas en una tabla temporal a través de enlaces
seleccione el nombre del encabezado del nombre de la tabla 1 nombre de la tabla de unión interna 2;
seleccionar * de empleados unir departamentos internos
seleccione el nombre del encabezado del nombre de la tabla 1 nombre de la tabla de unión interna 2 en la condición del enlace;
seleccionar * de empleados unión interna departamentos en empleados.dept_id = departamentos.dept_id;
En la nueva tabla temporal, puede realizar el siguiente procesamiento
seleccione el nombre del encabezado del nombre de la tabla 1 nombre de la tabla de combinación interna 2 en la condición del enlace [donde ordenar por | límite de agrupación];
seleccionar * de empleados unión interna departamentos en empleados.dept_id = departamentos.dept_id;
Después de definir el alias, debe usarlo para representar el nombre de la tabla.
Consultar el salario total de cada empleado en 2018
select name ,sum(basic+bonus) as total from employees inner join salary on employees.employee_id = salary.employee_id where year(date)=2018 group by name; select salary.employee_id ,sum(basic+bonus) as total from employees inner join salary on employees.employee_id = salary.employee_id where year(date)=2018 group by employee_id having total > 300000 order by total desc ,employee_id asc;查询2018年总工资大于30万的员工,按2018年总工资降序排列
seleccione employee_id,basic,garde de la unión interna de salario wage_grade en salary.basic entre wage_grade.low y wage_grade.high donde año(fecha)=2018 y mes(fecha)=12;
Consulta salario base empleado en diciembre 2018
seleccione garde como nivel, cuente (employee_id) como el número total de personas del salario interno que se unen a salario_grado en salario.básico entre salario_grado.bajo y salario_grado.alto donde año (fecha) = 2018 y mes (fecha) = 12 grupo por consulta; 2018 Número de empleados con nivel de salario base en diciembre
seleccionar nombre, básico, guardia de empleados unión interna salario en empleados.id_empleado = salario.id_empleado unión interna salario_grado en salario.básico entre salario_grado.bajo y salario_grado.alto donde año(fecha)=2018 y mes(fecha)=12;
Los enlaces externos comparan las diferencias entre dos tablas.
El enlace de la izquierda utiliza los datos de la tabla de la izquierda y los datos de la tabla de la derecha para comparar. El resultado de salida muestra todos los datos en el encabezado de la tabla de la izquierda.
Sólo las filas que coinciden con el enlace se muestran a la derecha
seleccione el nombre del encabezado del nombre de la tabla 1 nombre de la tabla jion izquierda 2 en la condición del enlace;
seleccione dept_name, nombre de los departamentos que quedan para unir empleados en departments.dept_id=employees.dept_id donde nombre es nulo;
El enlace derecho utiliza los datos de la tabla derecha y los datos de la tabla izquierda para comparar, y se muestran todos los datos en el encabezado de la tabla derecha del resultado de salida.
Sólo las filas que coinciden con el enlace se muestran a la derecha
mysql> select dept_name,name de departamentos como d right join empleados como e en d.dept_id=e.dept_id donde dept_name es nulo;
actualizar empleados establecer dept_id=11 donde name="bob";
Junte las filas consultadas por múltiples comandos de selección. Para consultas de selección múltiple, el número de encabezados de tabla debe ser consistente.
Se eliminó la salida de líneas duplicadas.
mysql> (seleccione fecha, máx(básico) como salario de salario donde fecha=20180110)union(seleccione fecha, máx(básico) como salario de salario donde fecha=20180110);
(seleccione comando de consulta) unión (seleccione comando de consulta);
Salida sin deduplicación
seleccionar comando de consulta) unión todo (seleccionar comando de consulta);
El comando de consulta de selección contiene el comando de consulta de selección.
Agrupación de consultas anidadas después de dónde
seleccione el nombre del encabezado de la biblioteca.tabla donde el símbolo de juicio del nombre del encabezado (seleccione el comando de consulta)
seleccione employee_id,date,basic,bonus de salario donde año(fecha)=2018 y mes(fecha)=12 y básico > (seleccione básico de salario donde año(fecha)=2018 y mes(fecha)=12 y employee_id=100);
Después de tener consultas anidadas, utilice los resultados de la consulta en () como condiciones de filtro,
seleccione el nombre del encabezado de la biblioteca. tabla que tiene el símbolo de juicio del nombre del encabezado (seleccione el comando de consulta)
Seleccione dept_id, count(nombre) como total del grupo de empleados por dept_id
teniendo total < (
seleccione count(nombre) de empleados donde dept_id=(
seleccione dept_id de los departamentos donde dept_name='Departamento de Desarrollo')
Anide la consulta después de y utilice los resultados de la consulta de () como tabla
seleccione el nombre del encabezado de (seleccione el resultado de la consulta) como nombre de la tabla temporal donde se filtra la condición;
seleccione employee_id, nombre, correo electrónico, nombre_departamento de (seleccione d.nombre_departamento,e.* de departamentos como d unión interna empleados como e en d.dept_id=e.dept_id) como tmp_table donde dept_id=3;
Consulta anidada después de seleccionar
seleccione el nombre del encabezado (seleccione el comando de consulta) como nombre del encabezado de la biblioteca.tabla donde se filtra la condición;
seleccione d.*,(seleccione count(nombre)de empleados como e donde d.dept_id=e.dept_id)como vumen de departamentos como d;