SlideShare uma empresa Scribd logo
Rodrigo Kiyoshi Saito / rodrigok@anchieta.br
BANCO DE DADOS I
Tópicos abordados
• Sobre o T-SQL;
• Instrução Select Básica;
• Criando instruções SQL;
• Selecionando colunas;
• Expressões aritméticas;
Tópicos abordados
• Usando operadores aritméticos;
• Precedencia de operadores;
• Definindo um valor nulo;
• Definindo um apelido para coluna;
• Operador de concatenação;
• String literais de caracteres;
• Linhas duplicadas;
Tópicos abordados
• Limitando linhas selecionadas
• Usando a cláusula where;
• String de caracteres e datas;
• Operadores de comparação;
• Utilização dos operadores de comparação;
• Usando o operador between;
• Usando o operador in;
Tópicos abordados
• Usando o operador like;
• Usando a opção espace;
• Usando o operador is null;
• Operadores lógicos;
• Usando o operador AND;
• Tabela verdade AND;
• Usando o operador OR;
Tópicos abordados
• Tabela verdade OR;
• Usando o operador NOT;
• Tabela verdade NOT;
• Regras de precedência;
• Cláusula Order By;
• Classificando por apelido de coluna;
• Classificando por posição de coluna;
Tópicos abordados
• Classificando por várias colunas;
SOBRE O T-SQL
• O T/SQL (Transact SQL) é uma extensão do
SQL com recursos de design de linguagem de
programação, sendo uma extensão de
linguagem procedural do SQL Server;
• Incorpora muitos recursos avançados feitos
em linguagem de programação projetadas
durante as décadas de 2000;
INSTRUÇÃO SELECT
BÁSICA
SELECT [DISTINCT] {*, coluna [apelido],…}
FROM tabela;
INSTRUÇÃO SELECT
BÁSICA
• Uma cláusula SELECT especifica as colunas a
serem exibidas;
• Uma cláusula FROM especifica a tabela que
contém as colunas listadas na cláusula SELECT
INSTRUÇÃO SELECT
BÁSICA
Na sintaxe:
SELECT  é a lista de uma ou mais colunas
DISTINCT  suprime os itens duplicados
*  selection todas as colunas
coluna  seleciona acoluna nomeada
apelido  fornece cabeçalhos diferentes às
colunas selecionadas
FROM  tabela especifica a tabela contend
as colunas
CRIANDO INSTRUÇÕES
SQL
• Instruções SQL sem distinção entre maiusculas /
minusculas;
• Instruções SQL podem estar em uma ou mais
linhas;
• Palavras-chave não podem ser abreviadas ou
divididas entre as linhas;
• Normalmente, as cláusulas são colocadas em
linhas separadas;
• Guias e indentações são usadas para aperfeiçoar
a legibilidade;
SELECIONANDO
COLUNAS
SELECIONANDO
COLUNAS
SELECT *
FROM DEPTO;
SELECIONANDO
COLUNAS
SELECT CDDEPTO, NMDEPTO,
RAMAL
FROM DEPTO;
SELECIONANDO
COLUNAS
SELECT CDDEPTO, NMDEPTO
FROM DEPTO;
EXPRESSÕES
ARITMÉTICAS
• Criar expressões com dados INT e
DECIMAL usando operadores aritméticos.
OPERADOR DESCRIÇÃO
+ Adicionar
- Subtrair
* Multiplicar
/ Dividir
USANDO OPERADORES
ARITMÉTICOS
USANDO OPERADORES
ARITMÉTICOS
SELECT CDCARGO, NMCARGO,
VRSALARIO,
VRSALARIO + 1000
FROM CARGO;
PRECEDENCIA DE
OPERADORES
* / + -
• A multiplicação e a divisão têm prioridade
sobre a adição e a substração;
• Os operadores com a mesma prioridade
são avaliados da esquerda para a direita;
• Os parênteses são usados para forçar a
avaliação priorizada e para esclarecer as
instruções;
PRECEDENCIA DE
OPERADORES
SELECT CDCARGO, NMCARGO,
VRSALARIO,
12 * VRSALARIO + 100
FROM CARGO;
PRECEDENCIA DE
OPERADORES USANDO
PARÊNTESES
SELECT CDCARGO, NMCARGO,
VRSALARIO,
12 * (VRSALARIO + 100)
FROM CARGO;
DEFININDO UM VALOR
NULO
• Um valor nulo não está disponível, não é
atribuído, é desconhecido ou não é aplicável;
• Um valor nulo não é o mesmo que um zero ou
um espaço em branco;
DEFININDO UM VALOR
NULO
SELECT CDCARGO, NMCARGO,
VRSALARIO
FROM CARGO;
VALORES NULOS NAS
EXPRESSÕES
ARITMÉTICAS
• Se qualquer valor da coluna em uma
expressão aritmética for nulo, o resultado será
nulo;
VALORES NULOS NAS
EXPRESSÕES
ARITMÉTICAS
SELECT CDCARGO, NMCARGO,
VRSALARIO + 100
FROM CARGO;
DEFININDO UM APELIDO
(ALIAS) PARA COLUNA
• Renomeia um cabeçalho de coluna;
• É útil para cálculos;
• Segue imediatamente o nome da coluna;
• Palavra-chave “as” é opcional entre o nome da
coluna e o apelido;
• Necessita de aspas simples ou duplas caso
contenha espaço ou caracteres especiais ou
faça a distinção entre maiúscula e minúscula;
USANDO UM APELIDO
DE COLUNA
SELECT CDCARGO AS CODIGO_DO_CARGO,
NMCARGO AS “Nome do Cargo”,
VRSALARIO VALOR$SALARIO
FROM CARGO;
OPERADOR DE
CONCATENAÇÃO
• Concatena colunas ou strings de caractere a
outras colunas;
• É representado pelo símbolo mais “+”;
• Cria uma coluna resultante que é uma
expressão de caracteres
USANDO UM OPERADOR
DE CONCATENAÇÃO
SELECT CDCARGO + NMCARGO
AS codigo_nome
FROM CARGO;
STRING LITERAIS DE
CARACTERES
• Uma literal é um caractere, um número ou
uma data incluída na lista SELECT;
• Valores literais de caractere e data devem
estar entre aspas simples (ou duplas);
• Cada string de caractere é gerada um vez para
linha retornada;
LINHAS DUPLICADAS
• A exibição das consultas é de todas as linhas,
incluindo linhas duplicadas:
SELECT CDCARGO
FROM FUNCIONARIO;
ELIMINANDO LINHAS
DUPLICADAS
• Elimine as linhas duplicadas usando a palavra
chave DISTINC na cláusula SELECT:
SELECT DISTINCT CDCARGO
FROM FUNCIONARIO;
• O DISTINCT atua sobre a linha do select, não
sendo possível ter 2 DISTINCTS na mesma SELECT
ELIMINANDO LINHAS
DUPLICADAS
SELECT DISTINCT CDCARGO
FROM FUNCIONARIO;
LIMITANDO LINHAS
SELECIONADAS
• Restringe as linhas retornadas usando a
cláusula WHERE:
• A cláusula WHERE pode comparer valores em
colunas, valores literais, expressões
aritméticas ou funções. É formada por tres
elementos:
– Nome da coluna;
– Operadores de comparação;
– Nome da coluna, constante ou lista de valores;
USANDO A CLÁUSULA
WHERE
SELECT NRMATRIC, NMFUNC
FROM FUNCIONARIO
WHERE CDCARGO = ‘C2’;
STRINGS DE CARACTERES
E DATAS
• As strings de caractere e valores de dados aparecem
entre aspas simples;
• Os valores de caractere fazem distinção entre
maiusculas e minúculas e o valores de data diferenciam
formatos;
• O format de data default é YYYY-MM-DD.
SELECT NRMATRIC, NMFUNC, DTADM
FROM FUNCIONARIO
WHERE SEXO = ‘F’
AND DTADM = ’19930601’;
STRINGS DE CARACTERES
E DATAS
SELECT NRMATRIC, NMFUNC,
DTADM
FROM FUNCIONARIO
WHERE SEXO = ‘F’
AND DTADM = ‘19930701’;
OPERADORES DE
COMPARAÇÃO
OPERADOR SIGNIFICADO
= Igual
> Maior do que
>= Maior do que ou igual a
< Menor
<= Menor ou igual a
<> Diferente de
UTILIZAÇÃO DOS
OPERADORES DE
COMPARAÇÃO
• Use os operadores de comparação em
condições que comparam uma expressão a
outra. Eles são usados na cláusula WHERE
seguindo os exemplos:
WHERE hiredate = ’19950101’
WHERE SAL >= 500
WHERE ENAME = ‘SMITH’
OUTROS OPERADORES
DE COMPARAÇÃO
OPERADOR SIGNIFICADO
BETWEEN … AND… Entre dois valores (inclusive)
IN (list) Vincula qualquer um de uma lista de
valores
LIKE Vincula um padrão de caracteres
IS NULL É um valor nulo
USANDO O OPERADOR
BETWEEN
• Use o operador BETWEEN para exibir linhas
baseadas em uma faixa de valores
SELECT NMCARGO, VRSALARIO
FROM CARGO
WHERE VRSALARIO BETWEEN 450 AND 750;
USANDO O OPERADOR
BETWEEN
SELECT NMCARGO, VRSALARIO
FROM CARGO
WHERE VRSALARIO
BETWEEN 450 AND 750;
USANDO O OPERADOR
IN
• Use o operador IN para testar os valores de
uma lista
SELECT NMFUNC, CDCARGO, CDDEPTO
FROM FUNCIONARIO
WHERE CDCARGO IN (‘C1’,’C3’,’C4’);
USANDO O OPERADOR
IN
SELECT NMFUNC, CDCARGO,
CDDEPTO
FROM FUNCIONARIO
WHERE CDCARGO
IN (‘C1’,’C3’,’C4’);
USANDO O OPERADOR
LIKE
• Use o operador LIKE para executar pesquisas
curinga com valores de string válidas;
• As condições de pesquisa podem conter
caracteres literais ou números;
- % denota zero ou muitos caracteres;
- _ (underline) denota um caractere;
USANDO O OPERADOR
LIKE
• Voce pode combiner caracteres de vinculação
de padrão;
SELECT NMFUNC, CDCARGO, CDDEPTO
FROM FUNCIONARIO
WHERE NMFUNC LIKE ‘JO%’
USANDO O OPERADOR
LIKE
SELECT NMFUNC, CDCARGO,
CDDEPTO
FROM FUNCIONARIO
WHERE NMFUNC LIKE ‘JO%’
USANDO O OPERADOR
LIKE
SELECT NMFUNC, CDCARGO,
CDDEPTO
FROM FUNCIONARIO
WHERE NMFUNC LIKE ‘%RO%’
USANDO O OPERADOR
LIKE
SELECT NMFUNC, CDCARGO,
CDDEPTO
FROM FUNCIONARIO
WHERE NMFUNC LIKE ‘_O%’
USANDO A OPÇÃO
ESCAPE
• Quando for necessário ter uma
correspondencia exata para os caracteres ‘%’ e
‘_’, use a opção ESCAPE
SELECT CDCARGO, NMCARGO
FROM CARGO
WHERE NMCARGO LIKE ‘%@_%’ ESCAPE ‘@’;
USANDO A OPÇÃO
ESCAPE
SELECT CDCARGO, NMCARGO
FROM CARGO
WHERE NMCARGO
LIKE ‘%@_%’ ESCAPE ‘@’;
USANDO O OPERADOR
IS NULL
• O operador IS NULL testa valores que são
nulos. Um valor nulo significa que o valor não
está disponível, não-atribuído, desconhecido
ou não aplicável. Assim, não é possível testar
com “=” porque um valor nulo não pode ser
igual ou desigual a qualquer valor.
SELECT CDCARGO, NMCARGO, VRSALARIO
FROM CARGO
WHERE VRSALARIO IS NULL;
USANDO O OPERADOR
IS NULL
SELECT CDCARGO, NMCARGO,
VRSALARIO
FROM CARGO
WHERE VRSALARIO IS NULL;
OPERADORES LÓGICOS
OPERADOR SIGNIFICADO
AND Retorna TRUE se as condições de
componmentes forem TRUE
OR Retorna TRUE se cada condição de
componente for TRUE
NOT Retorna TRUE se a condição seguinte
for FALSE
OPERADORES LÓGICOS
• Um operador lógico combina o resultado de
duas condições de componente para produzir
um único resultado com base neles ou
inverter o resultado para a condição única.
Três operadores lógicos estão disponíveis no
SQL:
– AND, OR e NOT
USANDO O OPERADOR
AND
• AND exige que ambas as conduições sejam
TRUE;
SELECT CDCARGO, NMCARGO, VRSALARIO
FROM CARGO
WHERE CDCARGO = ‘C5’
AND VRSALARIO >= 2000;
USANDO O OPERADOR
AND
SELECT CDCARGO, NMCARGO,
VRSALARIO
FROM CARGO
WHERE CDCARGO = ‘C5’
AND VRSALARIO >= 2000;
TABELA VERDADE AND
AND TRUE FALSE
TRUE TRUE FALSE
FALSE FALSE FALSE
USANDO O OPERADOR
OR
• OR exige que cada condição seja TRUE;
SELECT CDCARGO, NMCARGO, VRSALARIO
FROM CARGO
WHERE CDCARGO = ‘C5’
OR VRSALARIO >= 2000;
USANDO O OPERADOR
OR
SELECT CDCARGO, NMCARGO,
VRSALARIO
FROM CARGO
WHERE CDCARGO = ‘C5’
OR VRSALARIO >= 2000;
TABELA VERDADE OR
OR TRUE FALSE
TRUE TRUE TRUE
FALSE TRUE FALSE
USANDO O OPERADOR
NOT
• NOT nega o operador usado na operação
• O operador NOT pode ser utilizado também
com outros operadores SQL, como BETWEEN
e LIKE;
SELECT CDCARGO, NMCARGO, VRSALARIO
FROM CARGO
WHERE VRSALARIO IS NOT NULL;
USANDO O OPERADOR
NOT
SELECT CDCARGO, NMCARGO,
VRSALARIO
FROM CARGO
WHERE VRSALARIO
IS NOT NULL;
TABELA VERDADE NOT
NOT TRUE FALSE
TRUE FALSE TRUE
EXEMPLO DO OPERADOR
NOT
... WHERE CDDEPTO NOT IN (‘D1’,’D3’);
... WHERE VRSALARIO NOT BETWEEN 50 AND 500;
... WHERE NMCARGO NOT LIKE ’VIG%’;
... WHERE RAMAL IS NOT NULL;
REGRAS DE
PRECEDÊNCIA
ORDEM DE
AVALIAÇÃO
OPERADOR
1 Todos os operadores de comparação
2 NOT
3 AND
4 OR
Sobreponha regras de precedência usando parênteses
REGRAS DE
PRECEDÊNCIA
SELECT CDCARGO, NMCARGO, VRSALARIO
FROM CARGO
WHERE CDCARGO = ‘C1’
OR CDCARGO = ‘C7’
AND VRSALARIO >= 350
• A ordem de execução usando regras de
precedencia é:
– A primeira condição é que o CDCARGO seja igual a
‘C7’ e o VRSALARIO SEJA >= 350
– A segunda condição é que o cargo CDCARGO seja
igual a ‘C1’;
CLÁUSULA ORDER BY
• ORDER BY classifica as linhas de 2 formas:
– ASC: ordem crescente, default (do menor para o
maior);
– DESC: ordem decrescente (do maior para o
menor);
CLÁUSULA ORDER BY
SELECT CDCARGO, NMCARGO,
VRSALARIO
FROM CARGO
ORDER BY NMCARGO;
CLÁUSULA ORDER BY
SELECT CDCARGO, NMCARGO,
VRSALARIO
FROM CARGO
ORDER BY CDCARGO ASC;
CLÁUSULA ORDER BY
SELECT CDCARGO, NMCARGO,
VRSALARIO
FROM CARGO
ORDER BY VRSALARIO DESC;
CLASSIFICANDO POR
APELIDO DE COLUNA
SELECT NMCARGO,VRSALARIO,
VRSALARIO * 12 AS SAL_ANUAL
FROM CARGO
ORDER BY SAL_ANUAL
CLASSIFICANDO POR
POSIÇÃO DE COLUNA
SELECT NMCARGO, VRSALARIO,
VRSALARIO * 12
AS SAL_ANUAL
FROM CARGO
ORDER BY 2
CLASSIFICANDO POR
VÁRIAS COLUNAS
SELECT NMFUNC, SEXO,
DTADM
FROM FUNCIONARIO
ORDER BY NMFUNC,
DTADM DESC;

Mais conteúdo relacionado

PDF
Agbd aula4 sql_ddl
PDF
Substituir Type Codes "com" Classe
PPT
Aula 4 php
PPTX
Funções PHP - Criação de sites II
PDF
M7 revisoes sql
PDF
Tema 2 | Linguagem PHP Básico (I)
PDF
Dicas oracle sql
PDF
PHP - Funções
Agbd aula4 sql_ddl
Substituir Type Codes "com" Classe
Aula 4 php
Funções PHP - Criação de sites II
M7 revisoes sql
Tema 2 | Linguagem PHP Básico (I)
Dicas oracle sql
PHP - Funções

Mais procurados (9)

PDF
PHP 5.3 - Funções
PPTX
Algoritmos - Procedimentos
PDF
Apostila c++
PDF
Java 05
PDF
Javascript tutorial
PDF
Formulários Web em PHP com plug-ins avançados e AJAX
PPTX
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
PHP 5.3 - Funções
Algoritmos - Procedimentos
Apostila c++
Java 05
Javascript tutorial
Formulários Web em PHP com plug-ins avançados e AJAX
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
Anúncio

Semelhante a BD I - Aula 10 A - Introducao a SQL (20)

PDF
Aula7 sql basico_6por_pag
PDF
Um pouco sobre sql
PPT
Aula 11 - Conceitos de SQL Básicos, uso constante
PDF
08 sql - parte 02
PDF
LabMM4 (T08 - 12/13) - SQL continuação
PPTX
Aula 07 - Linguagem DQL - Bancos de Dados.pptx
PPTX
07 Consultando os dados de uma tabela
PDF
Consultas SQL
PPTX
Curso de C# - Variáveis, operadores e expressões
PPTX
Banco dedados aula002
PPTX
Introdução ao JS1.pptx
PDF
Introdução ao Banco de Dados, Introdução ao Banco de Dados,
PPTX
Psi m14
DOCX
Apostila de sql
PDF
08 LabMM4 - Bases de dados
PDF
LabMM4 (T06 - 12/13) - Auto-associações e Introdução ao SQL
PDF
Introdução a JavaScript
PPSX
Boas práticas de programação em C# .NET
ODP
Aprofundamento de DDL e DML
PPTX
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
Aula7 sql basico_6por_pag
Um pouco sobre sql
Aula 11 - Conceitos de SQL Básicos, uso constante
08 sql - parte 02
LabMM4 (T08 - 12/13) - SQL continuação
Aula 07 - Linguagem DQL - Bancos de Dados.pptx
07 Consultando os dados de uma tabela
Consultas SQL
Curso de C# - Variáveis, operadores e expressões
Banco dedados aula002
Introdução ao JS1.pptx
Introdução ao Banco de Dados, Introdução ao Banco de Dados,
Psi m14
Apostila de sql
08 LabMM4 - Bases de dados
LabMM4 (T06 - 12/13) - Auto-associações e Introdução ao SQL
Introdução a JavaScript
Boas práticas de programação em C# .NET
Aprofundamento de DDL e DML
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
Anúncio

Mais de Rodrigo Kiyoshi Saito (20)

PPTX
Algoritmos - Aula 16 B - Arquivos
PDF
Algoritmos - Aula 16 B - Arquivos - Exercicios
PDF
Algoritmos - Aula 16 - Registros - Exercicio Enunciado
PPTX
Algoritmos - Aula 16 - Registros
PDF
BD I - Aula 15 C - Manutencao de tabelas
PDF
BD I - Aula 15 B - Criacao de tabelas
PPTX
BD I - Aula 15 A - Comandos DML
PDF
BD I - Aula 14 B - Exercicios - Enunciado
PDF
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
PPTX
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
PDF
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios Enunciado
PPTX
BD I - Aula 13 B - Agrupando Dados - Parte 04
DOCX
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios Enunciado
PPTX
Algoritmos - Aula 13 C - Matrizes em C
PPTX
Algoritmos - Aula 13 B - Vetores em C
PPTX
Algoritmos - Aula 13 A - Lacos em C
PPTX
Algoritmos - Aula 12 B - Traducao Ling C - Condicoes
PPTX
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
PPTX
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
PDF
Algoritmos - Aula 10 A - Traducao do Port Est Para Ling C - Exercicios
Algoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - Arquivos - Exercicios
Algoritmos - Aula 16 - Registros - Exercicio Enunciado
Algoritmos - Aula 16 - Registros
BD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 A - Comandos DML
BD I - Aula 14 B - Exercicios - Enunciado
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando Dados - Parte 04
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios Enunciado
Algoritmos - Aula 13 C - Matrizes em C
Algoritmos - Aula 13 B - Vetores em C
Algoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 12 B - Traducao Ling C - Condicoes
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao do Port Est Para Ling C - Exercicios

Último (20)

PPTX
Programa Nacional de Saúde do Adulto.pptx
PDF
metabolismo energtico das clulas-131017092002-phpapp02.pdf
DOC
PPP 2024 (2) (2) feito EM REELABORAÇÃO MORENA ( ABRIL 2024).doc
PDF
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
PDF
Pecados desdenhados por muita gente (islamismo)
PPTX
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx
PPT
Caderno de Boas Práticas dos Professores Alfabetizadores.ppt
PPTX
Fronteiras e soberania..........................pptx
PDF
Combate a Incêndio - Hidrantes,Mangotinhos, Mangueiras de Incêndio, Acessóri...
PPTX
INTRODUÇÃO AO ESTUDO DA ANATOMIA HUMANA [Salvo automaticamente].pptx
PPTX
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
PPT
NÚCLEO INTERFÁSICO E DIVISÃO CELULAR.ppt
PPTX
Slides Lição 8, Betel, Jesus e a Mulher Adúltera, 3Tr25.pptx
PDF
50 anos Hoje - Volume V - 1973 - Manaus Amazonas
PDF
Historia da Gastronomia Mundial por Daianna Marques dos Santos
PDF
[Slides] A Literatura no ENEM 2017 (1).pdf
PDF
Combate a Incêndio - Iluminação de Emergência e Sinalização de Segurança por ...
PPTX
NR11 - Treinamento Direcao Defensiva - 2023.pptx
PDF
Combate a Incêndio - Estratégias e Táticas de Combate a Incêndio por Francis...
PDF
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
Programa Nacional de Saúde do Adulto.pptx
metabolismo energtico das clulas-131017092002-phpapp02.pdf
PPP 2024 (2) (2) feito EM REELABORAÇÃO MORENA ( ABRIL 2024).doc
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
Pecados desdenhados por muita gente (islamismo)
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx
Caderno de Boas Práticas dos Professores Alfabetizadores.ppt
Fronteiras e soberania..........................pptx
Combate a Incêndio - Hidrantes,Mangotinhos, Mangueiras de Incêndio, Acessóri...
INTRODUÇÃO AO ESTUDO DA ANATOMIA HUMANA [Salvo automaticamente].pptx
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
NÚCLEO INTERFÁSICO E DIVISÃO CELULAR.ppt
Slides Lição 8, Betel, Jesus e a Mulher Adúltera, 3Tr25.pptx
50 anos Hoje - Volume V - 1973 - Manaus Amazonas
Historia da Gastronomia Mundial por Daianna Marques dos Santos
[Slides] A Literatura no ENEM 2017 (1).pdf
Combate a Incêndio - Iluminação de Emergência e Sinalização de Segurança por ...
NR11 - Treinamento Direcao Defensiva - 2023.pptx
Combate a Incêndio - Estratégias e Táticas de Combate a Incêndio por Francis...
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf

BD I - Aula 10 A - Introducao a SQL

  • 1. Rodrigo Kiyoshi Saito / rodrigok@anchieta.br BANCO DE DADOS I
  • 2. Tópicos abordados • Sobre o T-SQL; • Instrução Select Básica; • Criando instruções SQL; • Selecionando colunas; • Expressões aritméticas;
  • 3. Tópicos abordados • Usando operadores aritméticos; • Precedencia de operadores; • Definindo um valor nulo; • Definindo um apelido para coluna; • Operador de concatenação; • String literais de caracteres; • Linhas duplicadas;
  • 4. Tópicos abordados • Limitando linhas selecionadas • Usando a cláusula where; • String de caracteres e datas; • Operadores de comparação; • Utilização dos operadores de comparação; • Usando o operador between; • Usando o operador in;
  • 5. Tópicos abordados • Usando o operador like; • Usando a opção espace; • Usando o operador is null; • Operadores lógicos; • Usando o operador AND; • Tabela verdade AND; • Usando o operador OR;
  • 6. Tópicos abordados • Tabela verdade OR; • Usando o operador NOT; • Tabela verdade NOT; • Regras de precedência; • Cláusula Order By; • Classificando por apelido de coluna; • Classificando por posição de coluna;
  • 8. SOBRE O T-SQL • O T/SQL (Transact SQL) é uma extensão do SQL com recursos de design de linguagem de programação, sendo uma extensão de linguagem procedural do SQL Server; • Incorpora muitos recursos avançados feitos em linguagem de programação projetadas durante as décadas de 2000;
  • 9. INSTRUÇÃO SELECT BÁSICA SELECT [DISTINCT] {*, coluna [apelido],…} FROM tabela;
  • 10. INSTRUÇÃO SELECT BÁSICA • Uma cláusula SELECT especifica as colunas a serem exibidas; • Uma cláusula FROM especifica a tabela que contém as colunas listadas na cláusula SELECT
  • 11. INSTRUÇÃO SELECT BÁSICA Na sintaxe: SELECT  é a lista de uma ou mais colunas DISTINCT  suprime os itens duplicados *  selection todas as colunas coluna  seleciona acoluna nomeada apelido  fornece cabeçalhos diferentes às colunas selecionadas FROM  tabela especifica a tabela contend as colunas
  • 12. CRIANDO INSTRUÇÕES SQL • Instruções SQL sem distinção entre maiusculas / minusculas; • Instruções SQL podem estar em uma ou mais linhas; • Palavras-chave não podem ser abreviadas ou divididas entre as linhas; • Normalmente, as cláusulas são colocadas em linhas separadas; • Guias e indentações são usadas para aperfeiçoar a legibilidade;
  • 17. EXPRESSÕES ARITMÉTICAS • Criar expressões com dados INT e DECIMAL usando operadores aritméticos. OPERADOR DESCRIÇÃO + Adicionar - Subtrair * Multiplicar / Dividir
  • 19. USANDO OPERADORES ARITMÉTICOS SELECT CDCARGO, NMCARGO, VRSALARIO, VRSALARIO + 1000 FROM CARGO;
  • 20. PRECEDENCIA DE OPERADORES * / + - • A multiplicação e a divisão têm prioridade sobre a adição e a substração; • Os operadores com a mesma prioridade são avaliados da esquerda para a direita; • Os parênteses são usados para forçar a avaliação priorizada e para esclarecer as instruções;
  • 21. PRECEDENCIA DE OPERADORES SELECT CDCARGO, NMCARGO, VRSALARIO, 12 * VRSALARIO + 100 FROM CARGO;
  • 22. PRECEDENCIA DE OPERADORES USANDO PARÊNTESES SELECT CDCARGO, NMCARGO, VRSALARIO, 12 * (VRSALARIO + 100) FROM CARGO;
  • 23. DEFININDO UM VALOR NULO • Um valor nulo não está disponível, não é atribuído, é desconhecido ou não é aplicável; • Um valor nulo não é o mesmo que um zero ou um espaço em branco;
  • 24. DEFININDO UM VALOR NULO SELECT CDCARGO, NMCARGO, VRSALARIO FROM CARGO;
  • 25. VALORES NULOS NAS EXPRESSÕES ARITMÉTICAS • Se qualquer valor da coluna em uma expressão aritmética for nulo, o resultado será nulo;
  • 26. VALORES NULOS NAS EXPRESSÕES ARITMÉTICAS SELECT CDCARGO, NMCARGO, VRSALARIO + 100 FROM CARGO;
  • 27. DEFININDO UM APELIDO (ALIAS) PARA COLUNA • Renomeia um cabeçalho de coluna; • É útil para cálculos; • Segue imediatamente o nome da coluna; • Palavra-chave “as” é opcional entre o nome da coluna e o apelido; • Necessita de aspas simples ou duplas caso contenha espaço ou caracteres especiais ou faça a distinção entre maiúscula e minúscula;
  • 28. USANDO UM APELIDO DE COLUNA SELECT CDCARGO AS CODIGO_DO_CARGO, NMCARGO AS “Nome do Cargo”, VRSALARIO VALOR$SALARIO FROM CARGO;
  • 29. OPERADOR DE CONCATENAÇÃO • Concatena colunas ou strings de caractere a outras colunas; • É representado pelo símbolo mais “+”; • Cria uma coluna resultante que é uma expressão de caracteres
  • 30. USANDO UM OPERADOR DE CONCATENAÇÃO SELECT CDCARGO + NMCARGO AS codigo_nome FROM CARGO;
  • 31. STRING LITERAIS DE CARACTERES • Uma literal é um caractere, um número ou uma data incluída na lista SELECT; • Valores literais de caractere e data devem estar entre aspas simples (ou duplas); • Cada string de caractere é gerada um vez para linha retornada;
  • 32. LINHAS DUPLICADAS • A exibição das consultas é de todas as linhas, incluindo linhas duplicadas: SELECT CDCARGO FROM FUNCIONARIO;
  • 33. ELIMINANDO LINHAS DUPLICADAS • Elimine as linhas duplicadas usando a palavra chave DISTINC na cláusula SELECT: SELECT DISTINCT CDCARGO FROM FUNCIONARIO; • O DISTINCT atua sobre a linha do select, não sendo possível ter 2 DISTINCTS na mesma SELECT
  • 34. ELIMINANDO LINHAS DUPLICADAS SELECT DISTINCT CDCARGO FROM FUNCIONARIO;
  • 35. LIMITANDO LINHAS SELECIONADAS • Restringe as linhas retornadas usando a cláusula WHERE: • A cláusula WHERE pode comparer valores em colunas, valores literais, expressões aritméticas ou funções. É formada por tres elementos: – Nome da coluna; – Operadores de comparação; – Nome da coluna, constante ou lista de valores;
  • 36. USANDO A CLÁUSULA WHERE SELECT NRMATRIC, NMFUNC FROM FUNCIONARIO WHERE CDCARGO = ‘C2’;
  • 37. STRINGS DE CARACTERES E DATAS • As strings de caractere e valores de dados aparecem entre aspas simples; • Os valores de caractere fazem distinção entre maiusculas e minúculas e o valores de data diferenciam formatos; • O format de data default é YYYY-MM-DD. SELECT NRMATRIC, NMFUNC, DTADM FROM FUNCIONARIO WHERE SEXO = ‘F’ AND DTADM = ’19930601’;
  • 38. STRINGS DE CARACTERES E DATAS SELECT NRMATRIC, NMFUNC, DTADM FROM FUNCIONARIO WHERE SEXO = ‘F’ AND DTADM = ‘19930701’;
  • 39. OPERADORES DE COMPARAÇÃO OPERADOR SIGNIFICADO = Igual > Maior do que >= Maior do que ou igual a < Menor <= Menor ou igual a <> Diferente de
  • 40. UTILIZAÇÃO DOS OPERADORES DE COMPARAÇÃO • Use os operadores de comparação em condições que comparam uma expressão a outra. Eles são usados na cláusula WHERE seguindo os exemplos: WHERE hiredate = ’19950101’ WHERE SAL >= 500 WHERE ENAME = ‘SMITH’
  • 41. OUTROS OPERADORES DE COMPARAÇÃO OPERADOR SIGNIFICADO BETWEEN … AND… Entre dois valores (inclusive) IN (list) Vincula qualquer um de uma lista de valores LIKE Vincula um padrão de caracteres IS NULL É um valor nulo
  • 42. USANDO O OPERADOR BETWEEN • Use o operador BETWEEN para exibir linhas baseadas em uma faixa de valores SELECT NMCARGO, VRSALARIO FROM CARGO WHERE VRSALARIO BETWEEN 450 AND 750;
  • 43. USANDO O OPERADOR BETWEEN SELECT NMCARGO, VRSALARIO FROM CARGO WHERE VRSALARIO BETWEEN 450 AND 750;
  • 44. USANDO O OPERADOR IN • Use o operador IN para testar os valores de uma lista SELECT NMFUNC, CDCARGO, CDDEPTO FROM FUNCIONARIO WHERE CDCARGO IN (‘C1’,’C3’,’C4’);
  • 45. USANDO O OPERADOR IN SELECT NMFUNC, CDCARGO, CDDEPTO FROM FUNCIONARIO WHERE CDCARGO IN (‘C1’,’C3’,’C4’);
  • 46. USANDO O OPERADOR LIKE • Use o operador LIKE para executar pesquisas curinga com valores de string válidas; • As condições de pesquisa podem conter caracteres literais ou números; - % denota zero ou muitos caracteres; - _ (underline) denota um caractere;
  • 47. USANDO O OPERADOR LIKE • Voce pode combiner caracteres de vinculação de padrão; SELECT NMFUNC, CDCARGO, CDDEPTO FROM FUNCIONARIO WHERE NMFUNC LIKE ‘JO%’
  • 48. USANDO O OPERADOR LIKE SELECT NMFUNC, CDCARGO, CDDEPTO FROM FUNCIONARIO WHERE NMFUNC LIKE ‘JO%’
  • 49. USANDO O OPERADOR LIKE SELECT NMFUNC, CDCARGO, CDDEPTO FROM FUNCIONARIO WHERE NMFUNC LIKE ‘%RO%’
  • 50. USANDO O OPERADOR LIKE SELECT NMFUNC, CDCARGO, CDDEPTO FROM FUNCIONARIO WHERE NMFUNC LIKE ‘_O%’
  • 51. USANDO A OPÇÃO ESCAPE • Quando for necessário ter uma correspondencia exata para os caracteres ‘%’ e ‘_’, use a opção ESCAPE SELECT CDCARGO, NMCARGO FROM CARGO WHERE NMCARGO LIKE ‘%@_%’ ESCAPE ‘@’;
  • 52. USANDO A OPÇÃO ESCAPE SELECT CDCARGO, NMCARGO FROM CARGO WHERE NMCARGO LIKE ‘%@_%’ ESCAPE ‘@’;
  • 53. USANDO O OPERADOR IS NULL • O operador IS NULL testa valores que são nulos. Um valor nulo significa que o valor não está disponível, não-atribuído, desconhecido ou não aplicável. Assim, não é possível testar com “=” porque um valor nulo não pode ser igual ou desigual a qualquer valor. SELECT CDCARGO, NMCARGO, VRSALARIO FROM CARGO WHERE VRSALARIO IS NULL;
  • 54. USANDO O OPERADOR IS NULL SELECT CDCARGO, NMCARGO, VRSALARIO FROM CARGO WHERE VRSALARIO IS NULL;
  • 55. OPERADORES LÓGICOS OPERADOR SIGNIFICADO AND Retorna TRUE se as condições de componmentes forem TRUE OR Retorna TRUE se cada condição de componente for TRUE NOT Retorna TRUE se a condição seguinte for FALSE
  • 56. OPERADORES LÓGICOS • Um operador lógico combina o resultado de duas condições de componente para produzir um único resultado com base neles ou inverter o resultado para a condição única. Três operadores lógicos estão disponíveis no SQL: – AND, OR e NOT
  • 57. USANDO O OPERADOR AND • AND exige que ambas as conduições sejam TRUE; SELECT CDCARGO, NMCARGO, VRSALARIO FROM CARGO WHERE CDCARGO = ‘C5’ AND VRSALARIO >= 2000;
  • 58. USANDO O OPERADOR AND SELECT CDCARGO, NMCARGO, VRSALARIO FROM CARGO WHERE CDCARGO = ‘C5’ AND VRSALARIO >= 2000;
  • 59. TABELA VERDADE AND AND TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE
  • 60. USANDO O OPERADOR OR • OR exige que cada condição seja TRUE; SELECT CDCARGO, NMCARGO, VRSALARIO FROM CARGO WHERE CDCARGO = ‘C5’ OR VRSALARIO >= 2000;
  • 61. USANDO O OPERADOR OR SELECT CDCARGO, NMCARGO, VRSALARIO FROM CARGO WHERE CDCARGO = ‘C5’ OR VRSALARIO >= 2000;
  • 62. TABELA VERDADE OR OR TRUE FALSE TRUE TRUE TRUE FALSE TRUE FALSE
  • 63. USANDO O OPERADOR NOT • NOT nega o operador usado na operação • O operador NOT pode ser utilizado também com outros operadores SQL, como BETWEEN e LIKE; SELECT CDCARGO, NMCARGO, VRSALARIO FROM CARGO WHERE VRSALARIO IS NOT NULL;
  • 64. USANDO O OPERADOR NOT SELECT CDCARGO, NMCARGO, VRSALARIO FROM CARGO WHERE VRSALARIO IS NOT NULL;
  • 65. TABELA VERDADE NOT NOT TRUE FALSE TRUE FALSE TRUE
  • 66. EXEMPLO DO OPERADOR NOT ... WHERE CDDEPTO NOT IN (‘D1’,’D3’); ... WHERE VRSALARIO NOT BETWEEN 50 AND 500; ... WHERE NMCARGO NOT LIKE ’VIG%’; ... WHERE RAMAL IS NOT NULL;
  • 67. REGRAS DE PRECEDÊNCIA ORDEM DE AVALIAÇÃO OPERADOR 1 Todos os operadores de comparação 2 NOT 3 AND 4 OR Sobreponha regras de precedência usando parênteses
  • 68. REGRAS DE PRECEDÊNCIA SELECT CDCARGO, NMCARGO, VRSALARIO FROM CARGO WHERE CDCARGO = ‘C1’ OR CDCARGO = ‘C7’ AND VRSALARIO >= 350 • A ordem de execução usando regras de precedencia é: – A primeira condição é que o CDCARGO seja igual a ‘C7’ e o VRSALARIO SEJA >= 350 – A segunda condição é que o cargo CDCARGO seja igual a ‘C1’;
  • 69. CLÁUSULA ORDER BY • ORDER BY classifica as linhas de 2 formas: – ASC: ordem crescente, default (do menor para o maior); – DESC: ordem decrescente (do maior para o menor);
  • 70. CLÁUSULA ORDER BY SELECT CDCARGO, NMCARGO, VRSALARIO FROM CARGO ORDER BY NMCARGO;
  • 71. CLÁUSULA ORDER BY SELECT CDCARGO, NMCARGO, VRSALARIO FROM CARGO ORDER BY CDCARGO ASC;
  • 72. CLÁUSULA ORDER BY SELECT CDCARGO, NMCARGO, VRSALARIO FROM CARGO ORDER BY VRSALARIO DESC;
  • 73. CLASSIFICANDO POR APELIDO DE COLUNA SELECT NMCARGO,VRSALARIO, VRSALARIO * 12 AS SAL_ANUAL FROM CARGO ORDER BY SAL_ANUAL
  • 74. CLASSIFICANDO POR POSIÇÃO DE COLUNA SELECT NMCARGO, VRSALARIO, VRSALARIO * 12 AS SAL_ANUAL FROM CARGO ORDER BY 2
  • 75. CLASSIFICANDO POR VÁRIAS COLUNAS SELECT NMFUNC, SEXO, DTADM FROM FUNCIONARIO ORDER BY NMFUNC, DTADM DESC;