minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Combine várias tabelas em uma tabela temporária por meio de links
selecione o nome do cabeçalho do nome da tabela 1 nome da tabela de junção interna 2;
selecione * de funcionários junção interna departamentos
selecione o nome do cabeçalho do nome da tabela 1 nome da tabela de junção interna 2 na condição do link;
selecione * de funcionários junção interna departamentos em employees.dept_id = departments.dept_id;
Na nova tabela temporária, você pode fazer o seguinte processamento
selecione o nome do cabeçalho do nome da tabela 1 nome da tabela de junção interna 2 na condição do link [onde | agrupar por |
selecione * de funcionários junção interna departamentos em employees.dept_id = departments.dept_id;
Depois de definir o alias, você deve usá-lo para representar o nome da tabela
Consultar o salário total de cada funcionário em 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年总工资降序排列
selecione employee_id, basic, garde de salary inner join wage_grade em salary.basic entre wage_grade.low e wage_grade.high onde year(date)=2018 e month(date)=12;
Consultar salário base do funcionário em dezembro de 2018
selecione garde como nível, contagem (employee_id) como número total de pessoas do salário interno ingressam em salário_grade em salário.basic entre salário_grade.low e salário_grade.high onde ano(data)=2018 e mês(data)=12 grupo por consulta; 2018 Número de empregados com salário base em dezembro
selecione nome, básico, garde de funcionários junção interna salário em funcionários.employee_id = salário.employee_id junção interna salário_classe em salário.basic entre salário_classe.baixo e salário_classe.alto onde ano(data)=2018 e mês(data)=12;
Links externos comparam as diferenças entre duas tabelas
O link esquerdo usa os dados da tabela esquerda e os dados da tabela direita para comparar. O resultado de saída mostra todos os dados no cabeçalho da tabela esquerda.
Somente as linhas que correspondem ao link são exibidas à direita
selecione o nome do cabeçalho do nome da tabela 1 à esquerda do nome da tabela jion 2 na condição do link;
selecione dept_name, nome dos departamentos restantes junte funcionários em departments.dept_id=employees.dept_id onde nome é nulo;
O link direito usa os dados da tabela direita e os dados da tabela esquerda para comparar, e todos os dados no cabeçalho da tabela direita do resultado de saída são exibidos.
Somente as linhas que correspondem ao link são exibidas à direita
mysql> select dept_name,name from departments as d right join employees as e on d.dept_id=e.dept_id onde dept_name é nulo;
atualizar funcionários definir dept_id=11 onde nome="bob";
Junte as linhas consultadas por vários comandos de seleção. Para consultas de seleção múltipla, o número de cabeçalhos de tabela deve ser consistente.
Saída de linhas duplicadas removida
mysql> (selecione data, max(básico) como salário de onde data=20180110)union(selecione data,min(básico) de salário onde data=20180110);
(selecione o comando de consulta) união (selecione o comando de consulta);
Saída sem desduplicação
selecione o comando de consulta) união de todos (selecione o comando de consulta);
comando select query contém comando select query
Agrupamento de consultas aninhadas depois de onde
selecione o nome do cabeçalho em biblioteca.tabela onde o símbolo de julgamento do nome do cabeçalho (selecione o comando de consulta)
selecione employee_id,date,basic,bonus de salary onde year(date)=2018 e month(date)=12 e basic > (selecione basic de salary onde year(date)=2018 e month(date)=12 e employee_id=100);
Depois de aninhar consultas, use os resultados da consulta em () como condições de filtro,
selecione o nome do cabeçalho de library.table com o símbolo de julgamento do nome do cabeçalho (selecione o comando de consulta)
selecione dept_id, count(name) como total do grupo de funcionários por dept_id
tendo total < (
selecione count(nome) de funcionários onde dept_id=(
selecione dept_id dos departamentos onde dept_name='Departamento de Desenvolvimento')
Aninhe a consulta após from e use os resultados da consulta de () como uma tabela
selecione o nome do cabeçalho de (selecione o resultado da consulta) como nome da tabela temporária onde a condição de filtro;
selecione employee_id, nome, e-mail, nome_departamento de (selecione d.dept_name, e.* de departamentos como d junção interna funcionários como e em d.dept_id=e.dept_id) como tmp_table onde dept_id=3;
Consulta aninhada após seleção
selecione o nome do cabeçalho (selecione o comando de consulta) como nome do cabeçalho de biblioteca.tabela onde condição de filtro;
selecione d.* ,(selecione count(nome)de funcionários como e onde d.dept_id=e.dept_id)como vumen de departamentos como d;