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

A Linguagem SQL - DQL

Enviado por

lgmangueira
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)
43 visualizações19 páginas

A Linguagem SQL - DQL

Enviado por

lgmangueira
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
Você está na página 1/ 19

A linguagem SQL

Structured Query Language

Parte 1 - DQL
Luciano Garcia Mangueira
Banco de Dados II
18
SQL
Proposta na IBM por E. F. Codd no artigo “A
Relational Model of Data for Large Shared
Data Banks”
Linguagem padrão para comunicar-se com um
banco de dados RELACIONAL
Considerada linguagem padrão em 1986 pela American National
Standards Institute (ANSI) SQL/ANSI
Revisada em 1992 SQL/92
Revisada em 1999 SQL/99 ou SQL3

Utiliza os conceitos de álgebra relacional e


lógica de predicados 19
Classificação dos Comandos SQL

Comandos DQL (parte 1 e 2)


(Data Query Language)
Comandos DML (parte 3)
(Data Manipulation Language)
Comandos DDL (parte 4)
(Data Definition Language)
Comandos DCL (parte 5)
(Data Control Language)

20
Os Comandos SQL
Comandos DQL (Data Query Language)
Select
Comandos DML (Data Manipulation Language)
Update
Insert
Delete
Comandos DDL (Data Definition Language)
Create Drop Alter
Table Table Table
View View Index
Index Index Truncate Table
Procedure Procedure Etc...
Trigger Trigger
Constraint Constraint
Package Package
Comandos DCL (Data Control Language)
Alter password, Grant, Revoke, Create Synonym
Comandos transacionais DTL (Data Transaction Language)
Commit, rollback, begin/end transaction, savepoint
21
Os Comandos SQL

Sintaxe do comando SELECT

22
Comando Select
Cláusulas
obrigatórias para
SELECT [lista de campos] acessar tabelas

FROM [lista de tabelas]


WHERE [condições]
GROUP BY [lista de campos para agrupamento]
HAVING [Condições] (no agrupamento)
ORDER BY [lista de campos para ordenação]

23
O que um SELECT pode conter:

Select Where
* =, >, <, >=, <=
Alias (AS ou espaço) And, Or, Not
between
Expressões Like, Not Like, %
Distinct / all In, Not In
Exist, Not Exist
From Join
Alias (AS) Outer Join
. (ponto na lista de
campos) Order by
Subquery Asc / Desc

24
A cláusula SELECT

25
Exemplos
Select * (asterisco) Retorna todas as linhas
e colunas da tabela
SELECT * Funcionário.
FROM
FUNCIONARIO

Alias (Utilizado para renomear as colunas)


SELECT
NMNAV as Nome_do_Navio,
NMCOMAN as Nome_do_Comandante,
CAPNAV Capacidade_do_Navio
FROM
NAVIO_COMANDANTE
26
Exemplos
Select
Expressões

SELECT
CODIGO_PRODUTO,
DESC_PRODUTO,
PRECO_UNIT / 2.875 as VALOR_EM_DOLAR
FROM
A conversão para dólar virá
PRODUTO automaticamente calculada
em todas as linhas

27
Exemplos
Select
DISTINCT / ALL

SELECT DISTINCT NOME_NAVIO


FROM NAVIO Retornará somente os
nomes de navios que
forem diferentes.
SELECT ALL NOME_NAVIO
FROM
HIST_NAVIO_ANCORADO Retornará todos os
nomes de navios,
mesmo repetidos.

28
A cláusula FROM

29
Exemplos
From
Alias (AS ou espaço)
. (ponto na lista de campos)
SELECT SELECT
FUNCIONARIO.MATRICULA, F.MATRICULA,
FUNCIONARIO.NOME, F.NOME,
DEPARTAMENTO.NOME D.NOME
FROM FROM
FUNCIONARIO, FUNCIONARIO F,
DEPARTAMENTO DEPARTAMENTO D
WHERE WHERE
FUNCIONARIO.SIGLA_DEPTO = F.SIGLA_DEPTO = D.SIGLA_DEPTO
DEPARTAMENTO. SIGLA_DEPTO
COM ALIAS
SEM ALIAS
30
A cláusula WHERE

31
Exemplos
Where
=, >, <, >=, <= Retornará os nomes dos
dependentes nascidos à
partir de 01/01/2000
(inclusive).
SELECT NOME
FROM DEPENDENTE
WHERE DATA_NASC >= ‘01/01/2000’

Retornará o nome do
SELECT NOME funcionário de CPF
FROM FUNCIONARIO nº 83737475476.

WHERE CPF = 83737475476

32
Exemplos

Where Retornará os nomes dos


And, Or, Not funcionários com CPF
nulos ou identidade com
menos de 9 dígitos.
SELECT SELECT
NOME_PRODUTO NOME
FROM FROM
FUNCIONARIO
PRODUTO
WHERE
WHERE CPF IS NULL
PRECO_UNIT > 800 OR
AND LENGHT(TRIM(IDENT)) < 9;
QUANT_MIN <= 10;

33
Exemplos

Where
between Retornará os nomes dos
cargos com os salários
entre 1.000 e 5.000 reais.
SELECT NOME
FROM CARGO
WHERE SALARIO BETWEEN 1000 AND 5000

34
Exemplos
Where
Retornará os nomes dos
Like, Not Like, % funcionários que contém
o nome “Silva”.
SELECT NOME
FROM FUNCIONARIO
WHERE NOME LIKE ‘%SILVA%‘
Retornará os nomes dos
SELECT NOME funcionários que começam
FROM FUNCIONARIO com “AL”.
WHERE NOME LIKE ‘AL%‘ Ex.: Almeida, Alberto, etc...

35
Exemplos
Where Retornará os nomes dos
cargos e os salários
In, Not In APENAS do RH,
ENGENHARIA e
MARKETING.

SELECT NOME_CARGO, SALARIO


FROM CARGO
WHERE NOME IN (‘RH', ‘ENGENHARIA', ‘MARKETING')

Retornará os nomes dos


produtos, EXCETO dos
SELECT NOME_PRODUTO grupos listados abaixo.
FROM PRODUTO
WHERE COD_GRUPO NOT IN (334, 443, 556, 221)
36

Você também pode gostar