- Este tópico contém 4 respostas, 3 vozes e foi atualizado pela última vez 13 anos, 1 mês atrás por fabiogalera.
-
AutorPosts
-
23 de novembro de 2011 às 3:25 am #101757dyggosParticipante
Boa noite amigos, poderiam me ajudar em um exercicio. Estou usando o usuário e banco HR.
1. Fazer uma pesquisa e retornar o Nome/sobreNome do funcionário com o maior salário. (SOMENTE COM O MAIOR SALARIO. COMANDO MAX SUB QUERY)
select first_name, last_name, salary
from employees
simplesmente sei muito pouco de sql. Se puderem me ajudar.obrigado galera.
23 de novembro de 2011 às 3:02 pm #101759leandrolbsParticipanteassim acho mais pratico:
select first_name, last_name, salary from hr.employees
where salary = (select max(salary) from hr.employees);
mas vc pode colocar o max no select direto é dar groups by…
23 de novembro de 2011 às 7:30 pm #101767dyggosParticipante[quote=”leandrolbs”:2o8ac15o]assim acho mais pratico:
select first_name, last_name, salary from hr.employees
where salary = (select max(salary) from hr.employees);
mas vc pode colocar o max no select direto é dar groups by…[/quote]
Obrigado pelo retorno Leandro fiz dessa maneira depois de muita pesquisa:
SELECT first_name||' '||last_name, salary
FROM employees
where salary=(SELECT MAX(salary)
FROM employees)Estou com outra questão que talvez possa me ajudar.
estou usando o usuário/banco HR
Fazer uma pesquisa e retornar as regiões e a quantidade de escritórios.(Mostrar a região e o número de escritórios).
será que alguém pode me ajudar?? não estou sabendo relacionar os campos/tabelas.Obrigado.[/b]
23 de novembro de 2011 às 7:48 pm #101768leandrolbsParticipantepesquise sobre JOIN…
seria algo assim….. (estou sem o schema do HR)..
select a.campo_pk, a.campo_2 , b.campo_3 from hr.tabela a , hr.tabela_2 b
where a.campo_pk = b.campo_fkou fazendo JOIN ON
SELECT Employees.Name, Orders.Product
FROM Employees
INNER JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID25 de novembro de 2011 às 1:57 am #101804fabiogaleraParticipante[quote=”dyggos”:2kmu44vq][quote=”leandrolbs”:2kmu44vq]assim acho mais pratico:
select first_name, last_name, salary from hr.employees
where salary = (select max(salary) from hr.employees);
mas vc pode colocar o max no select direto é dar groups by…[/quote]
Obrigado pelo retorno Leandro fiz dessa maneira depois de muita pesquisa:
SELECT first_name||' '||last_name, salary
FROM employees
where salary=(SELECT MAX(salary)
FROM employees)Estou com outra questão que talvez possa me ajudar.
estou usando o usuário/banco HR
Fazer uma pesquisa e retornar as regiões e a quantidade de escritórios.(Mostrar a região e o número de escritórios).
será que alguém pode me ajudar?? não estou sabendo relacionar os campos/tabelas.Obrigado.[/b][/quote]
Nos envie as definições das tabelas para ficar mais fácil.
O que você precisa por em mente, em uma linguagem SQL, é que tudo é dividido em blocos.
Por exemplo, você precisa do nome de uma pessoa que tem o maior salário.
Primeiro, você não sabe o nome da pessoa.
Segundo, você nem sabe o maior salário.Só é possível achar o Nome de uma pessoa, depois que você descobrir o maior salário.
Maior Salário: select MAX(salary) from tabela;
agora, pega o nome da pessoa
select primeiro_nome, segundo_nome from tabela where salary = (select MAX(salary) from tabela);
-
AutorPosts
- Você deve fazer login para responder a este tópico.