A Linguagem SQL - DQL
A Linguagem SQL - DQL
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
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
22
Comando Select
Cláusulas
obrigatórias para
SELECT [lista de campos] acessar tabelas
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
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
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.
32
Exemplos
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.