0% acharam este documento útil (0 voto)
2 visualizações7 páginas

Sequencia SQL

O documento apresenta uma série de comandos SQL para manipulação e consulta de dados na tabela DEPARTAMENTO, incluindo seleção de campos, filtragem, e junções com outras tabelas. Ele também aborda o uso de operadores aritméticos, lógicos e de comparação em consultas SQL. Exemplos práticos são fornecidos para ilustrar cada comando e conceito mencionado.

Enviado por

Júlio César
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
2 visualizações7 páginas

Sequencia SQL

O documento apresenta uma série de comandos SQL para manipulação e consulta de dados na tabela DEPARTAMENTO, incluindo seleção de campos, filtragem, e junções com outras tabelas. Ele também aborda o uso de operadores aritméticos, lógicos e de comparação em consultas SQL. Exemplos práticos são fornecidos para ilustrar cada comando e conceito mencionado.

Enviado por

Júlio César
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

SEQUÊNCIA DE COMANDOS SQL

1) Mostrar todos os campos da tabela DEPARTAMENTO

SELECT * FROM `departamento`

- Identificar o número de registros encontrados


- Editar um registros

2) Mostrar somente um dos campos da tabela DEPARTAMENTO

SELECT nome_dep FROM `departamento`

3) Mostrar dois campos da tabela DEPARTAMENTO

SELECT nome_dep, id_filial FROM `departamento`

4) Incluir uma condição para os registros mostrados da tabela DEPARTAMENTO

SELECT nome_dep, id_filial FROM `departamento` where id_filial=1

- Identificar o número de registros encontrados com essa filtragem


- Editar um registros (não é possível)

5) Relacionar a tabela DEPARTAMENTO com a sua chave estrangeira

SELECT * FROM departamento INNER JOIN filiais ON departamento.id_filial=[Link]

- Identificar os campos mostrados


- Identificar a quantidade de registro mostrados

6) Relacionar a tabela DEPARTAMENTO com a sua chave estrangeira com o


LEFT JOIN

SELECT * FROM departamento LEFT JOIN filiais ON departamento.id_filial=[Link]

- Identificar os campos mostrados


- Identificar a quantidade de registro mostrados
- Tabela da direita: departamento
7) Relacionar a tabela DEPARTAMENTO com a sua chave estrangeira com o
RIGHT JOIN

SELECT * FROM departamento RIGHT JOIN filiais ON departamento.id_filial=[Link]

- Identificar os campos mostrados


- Identificar a quantidade de registro mostrados
- Tabela da direita: departamento

8) Relacionar a tabela DEPARTAMENTO com a sua chave estrangeira (INNER


JOIN) citando cada um dos campos

SELECT departamento.nome_dep,
departamento.id_filial,
[Link],
filiais.id_localizacao,
filiais.id_gerente
FROM departamento INNER JOIN filiais ON departamento.id_filial=[Link]

- Identificar os campos mostrados


- Identificar a quantidade de registro mostrados

9) Relacionar a tabela DEPARTAMENTO com a sua chave estrangeira (INNER JOIN)


citando cada um dos campos e dando um ALIAS para cada campo

SELECT departamento.nome_dep as NOME_DO_DEPARTAMENTO,


departamento.id_filial as ID_DA_FILIAL,
[Link] as NOME_DA_FILIAL,
filiais.id_localizacao as ID_DA_LOCALIZACAO,
filiais.id_gerente as ID_DO_GERENTE
FROM departamento INNER JOIN filiais ON departamento.id_filial=[Link]

- Identificar os campos mostrados


- Identificar a quantidade de registro mostrados
10) Relacionar a tabela DEPARTAMENTO com a sua chave estrangeira (INNER
JOIN) citando cada um dos campos e dando um ALIAS para cada campo e
estabelecendo mais tabelas associadas por chave estrangeira. Chamar campos de
uma terceira tabela na lista de campos.

SELECT departamento.nome_dep as
NOME_DO_DEPARTAMENTO, departamento.id_filial as
ID_DA_FILIAL, [Link] as NOME_DA_FILIAL,
filiais.id_localizacao as ID_DA_LOCALIZACAO,
filiais.id_gerente as ID_DO_GERENTE,
empregado.id_departamento as ID_DO_DEPARTAMENTO,
empregado.id_funcao as ID_DA_FUNCAO,
empregado.nome_empregado as NOME_DO_EMPREGADO,
[Link] as SALARIO_DO_EMPREGADO
FROM departamento
INNER JOIN filiais ON departamento.id_filial=[Link] INNER
JOIN empregado ON filiais.id_gerente=[Link]

OBS:
- “Filiais que está contido em Departamento”
- “Empregado que está contido em Filiais”

11) Relacionar a tabela DEPARTAMENTO com a sua chave estrangeira (INNER


JOIN) citando cada um dos campos e dando um ALIAS para cada campo e
estabelecendo mais tabelas associadas por chave estrangeira. Chamar campos de
uma quarta tabela na lista de campos.

SELECT departamento.nome_dep as
NOME_DO_DEPARTAMENTO, departamento.id_filial as
ID_DA_FILIAL, [Link] as NOME_DA_FILIAL,
filiais.id_localizacao as ID_DA_LOCALIZACAO,
filiais.id_gerente as ID_DO_GERENTE,
empregado.id_departamento as ID_DO_DEPARTAMENTO,
empregado.id_funcao as ID_DA_FUNCAO,
empregado.nome_empregado as NOME_DO_EMPREGADO,
[Link] as SALARIO_DO_EMPREGADO,
localizacao.id_uf as ID_DA_UF,
[Link] as BAIRRO_DA_LOC,
localizacao.id_cidade as ID_DA_CIDADE
FROM departamento
INNER JOIN filiais ON departamento.id_filial=[Link]
INNER JOIN empregado ON filiais.id_gerente=[Link]
INNER JOIN localizacao ON filiais.id_localizacao=[Link]

OBS:
- “Filiais que está contido em Departamento”
- “Empregado que está contido em Filiais”
- “Localização que está dentro de Filiais”
12) Fazer uma filtragem no SQL anterior para localizar um registro pela ID do
DEPARTAMENTO

SELECT departamento.nome_dep as
NOME_DO_DEPARTAMENTO, departamento.id_filial as
ID_DA_FILIAL, [Link] as NOME_DA_FILIAL,
filiais.id_localizacao as ID_DA_LOCALIZACAO,
filiais.id_gerente as ID_DO_GERENTE,
empregado.id_departamento as ID_DO_DEPARTAMENTO,
empregado.id_funcao as ID_DA_FUNCAO,
empregado.nome_empregado as NOME_DO_EMPREGADO,
[Link] as SALARIO_DO_EMPREGADO,
localizacao.id_uf as ID_DA_UF,
[Link] as BAIRRO_DA_LOC,
localizacao.id_cidade as ID_DA_CIDADE
FROM departamento
INNER JOIN filiais ON departamento.id_filial=[Link]
INNER JOIN empregado ON filiais.id_gerente=[Link]
INNER JOIN localizacao ON filiais.id_localizacao=[Link]
WHERE [Link]=1

- Identificar os campos mostrados


- Identificar a quantidade de registro mostrados
13) Fazer uma filtragem no SQL anterior para localizar um registro pelo nome do
DEPARTAMENTO

SELECT departamento.nome_dep as
NOME_DO_DEPARTAMENTO, departamento.id_filial
as ID_DA_FILIAL,
[Link] as NOME_DA_FILIAL,
filiais.id_localizacao as ID_DA_LOCALIZACAO,
filiais.id_gerente as ID_DO_GERENTE,
empregado.id_departamento as ID_DO_DEPARTAMENTO,
empregado.id_funcao as ID_DA_FUNCAO,
empregado.nome_empregado as NOME_DO_EMPREGADO,
[Link] as SALARIO_DO_EMPREGADO,
localizacao.id_uf as ID_DA_UF,
[Link] as BAIRRO_DA_LOC,
localizacao.id_cidade as ID_DA_CIDADE
FROM departamento
INNER JOIN filiais ON departamento.id_filial=[Link]
INNER JOIN empregado ON filiais.id_gerente=[Link]
INNER JOIN localizacao ON
filiais.id_localizacao=[Link] WHERE
departamento.nome_dep='Dep Marketing'

- Identificar os campos mostrados


- Identificar a quantidade de registro mostrados
14) Fazer uma filtragem no SQL anterior para localizar um registro pelo nome do
DEPARTAMENTO, sem especificar o nome completo

SELECT departamento.nome_dep as
NOME_DO_DEPARTAMENTO, departamento.id_filial
as ID_DA_FILIAL,
[Link] as NOME_DA_FILIAL,
filiais.id_localizacao as ID_DA_LOCALIZACAO,
filiais.id_gerente as ID_DO_GERENTE,
empregado.id_departamento as ID_DO_DEPARTAMENTO,
empregado.id_funcao as ID_DA_FUNCAO,
empregado.nome_empregado as NOME_DO_EMPREGADO,
[Link] as SALARIO_DO_EMPREGADO,
localizacao.id_uf as ID_DA_UF,
[Link] as BAIRRO_DA_LOC,
localizacao.id_cidade as ID_DA_CIDADE
FROM departamento
INNER JOIN filiais ON departamento.id_filial=[Link]
INNER JOIN empregado ON filiais.id_gerente=[Link]
INNER JOIN localizacao ON
filiais.id_localizacao=[Link] WHERE
departamento.nome_dep LIKE 'Dep Mark%'

- Identificar os campos mostrados


- Identificar a quantidade de registro mostrados
15) Fazer uma filtragem no SQL anterior com mais de uma condição

SELECT departamento.nome_dep as
NOME_DO_DEPARTAMENTO, departamento.id_filial as
ID_DA_FILIAL, [Link] as NOME_DA_FILIAL,
filiais.id_localizacao as ID_DA_LOCALIZACAO,
filiais.id_gerente as ID_DO_GERENTE,
empregado.id_departamento as ID_DO_DEPARTAMENTO,
empregado.id_funcao as ID_DA_FUNCAO,
empregado.nome_empregado as NOME_DO_EMPREGADO,
[Link] as SALARIO_DO_EMPREGADO,
localizacao.id_uf as ID_DA_UF,
[Link] as BAIRRO_DA_LOC,
localizacao.id_cidade as ID_DA_CIDADE
FROM departamento
INNER JOIN filiais ON departamento.id_filial=[Link]
INNER JOIN empregado ON filiais.id_gerente=[Link]
INNER JOIN localizacao ON filiais.id_localizacao=[Link]
WHERE departamento.nome_dep='Dep Marketing' and empregado.nome_empregado LIKE
'João %'

- Identificar os campos mostrados


- Identificar a quantidade de registro mostrados
Usando operadores aritméticos, lógicos e comparação em consultas SQL

Operadores aritméticos, lógicos e comparação são usados em consultas SQL para realizar
tarefas como sumar ou agrupar valores, comparar valores do banco de dados com
constantes e variáveis, entre outras. Esses operadores nos auxiliam na construções de
consultas a fim ajudar na comparação de valores e estabelecer diferenças entre um resultado
e outro.

São amplamente usados nos principais banco de dados relacionais, como o SQL
Server, MySQL, Access ou Oracle. Vemos uma explanação dos principais operadores.

Veja abaixo alguns exemplos:

Usando operadores aritméticos

Para criar expressões aritméticas em uma consulta SQL usamos os operadores abaixo:

+(somar)
-(subtrair)
*(multiplicar)
/(dividir)
Os operadores acima podem ser usados apenas em colunas do tipo numérico. Você
poderá usar operadores aritméticos em qualquer cláusula, exceto na cláusula FROM.

SELECT nome, salario, salario*12 As


salario_anual FROM empregados
No exemplo acima multiplicamos o valor da coluna salário por 12 nomeamos a
saída de salário_anual.

Precedência de operadores

Quando usamos vários operadores em uma consulta é importante observarmos


qual será a precedência dos operadores.

Na tabela empregados temos a coluna salário. Além do salário, cada empregado irá receber
no final do ano um bônus de 200.

Para descobrir quanto esse empregado irá receber anualmente, temos de multiplicar o
salário por 12 meses e adicionar o bônus de 200.

SELECT nome, salario, 12*salário+200 As


salario_anual FROM empregados
No exemplo acima cada empregado receberia o bônus uma vez no ano, mas vamos
considerar agora que o bônus passou a ser mensal.

Neste caso será necessário somar o salário mais o bônus e depois multiplicar por 12. Para
resolver esse problema teremos de mudar a precedência e para isto usamos os parênteses,
ou seja, tudo que estiver dentro do parêntese é executado primeiro.

Veja o mesmo exemplo com a mudança de precedência:


SELECT nome, salario, 12*(salario+200) As salario_anual
FROM empregados
Operadores de comparação

Os operadores de comparação são usados em condições que comparam uma expressão a


outro valor ou expressão. A tabela abaixo mostra os operadores:

= Igual a
> Maior que
>= Maior ou igual a que
< Menor que
<= Menor ou igual a que
<> Diferente de
SELECT codigo_empregado, nome, salario
FROM empregados
WHERE codigo_empregado=8
No exemplo acima, usamos o igual para criar um filtro na cláusula where, este filtro diz
que os dados retornados deverão ser do código de empregado IGUAL a 8.

Operadores lógicos

O uso de um operador lógico faz com que duas condições tenham de produzir um resultado
único. Uma linha só poderá ser retornada se o resultado global da condição for verdadeiro.

A tabela abaixo mostra os operadores lógicos disponíveis em SQL:

AND Retorna TRUE se ambas as condições forem verdadeiras


OR Retorna TRUE se uma das condições for verdadeira
NOT Retorna TRUE se a condição seguinte for falsa
No exemplo abaixo uma linha será retornada se o empregado for do estado de SP e o
seu salário maior que 2200.

SELECT nome, salário, cidade, estado


FROM empregados
WHERE estado=***SP*** and salario > 2200
Para produzir um resultado diferente basta alterar esta consulta, trocando o operador
AND por OR.

SELECT nome, salário, cidade, estado


FROM empregados
WHERE estado=***SP*** or salario > 2200
Neste caso uma linha será retornado se o empregado for do estado de SP ou se o
seu salário for maior que 2200.

Você também pode gostar