Programação para Internet Aula 12 SQL (Comandos de Consulta ao BD)

Slides:



Advertisements
Apresentações semelhantes
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Advertisements

Object Query Language - OQL
Banco de Dados Prof. Antonio.
SQL Avançado Continuação
TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula /08/2011 Professor Leomir J. Borba- –
Banco de Dados Bruno Rafael de Oliveira Rodrigues.
Prof.: Bruno Rafael de Oliveira Rodrigues
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone: 9531 – 7555.
Visões Marilde Santos.
SGBD.
SQL – Comandos de Agregação
SQL – Consultas Básicas
SQL – Noções Gerais Por Márcia Jacyntha N. Rodrigues Lucena
SQL – DML Consulta a dados de uma tabela
Ordenação de Resultados
Operadores Especiais da SQL
Oficina sobre banco de dados
SCC Bancos de Dados e Suas Aplicações
SCC Bancos de Dados e Suas Aplicações
Material III-Bimestre Wagner Santos C. de Jesus
Operação de União “JOIN”
Linguagem de Banco de Dados - SQL
Banco de dados Profª Kelly Medeiros.
Equipe de monitoria Aula prática 2. Apresentação do caso de estudo Conceitual Lógico Algumas informações iniciais Consultas e exercícios Surpresa... =)
Comandos de SQL Excel VBA II.
Monitoria GDI Aula Prática
SQL Álvaro Vinícius de Souza Coêlho
Cronograma Formato do Comando SELECT – 1ª Seção Uso de Funções (DATE_FORMAT, DAY, MONTH, NOW, CONCAT, FORMAT, COUNT, AVG, MAX, MIN e FORMAT) AS DISTINCT.
Design Patterns / Acesso ao banco de dados (java.sql)
Banco de Dados Aplicado ao Desenvolvimento de Software
Especialização em Tecnologia da Informação
Desenvolvendo um script SQL
Treinamento sobre SQL.
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros waelson.com.br “Está conosco o Senhor dos Exércitos”
Baseado no material do Professor Raul Paradeda
REVISÃO Comandos SQL - DML SELECT * FROM ?.
Linguagem de Manipulação de Dados. 2 Conteúdos Introdução ao SQL Comando SELECT – Extracção de Dados  Pesquisas Simples  Restrições na pesquisa de dados.
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Treinamento SQL Server
SQL Server Comando PIVOT.
AULA DE DÚVIDAS 9 de Abril de Especialização  Simplifica-se quando:  especialização é disjunta e  especialização é total e  não há relações.
Fundamentos de Banco de Dados Fundamentos de Banco de Dados Prof. Gale 2º. Semestre 2008.
NOTA DE AULA SQL.
Linguagem SQL Prof. Juliano.
IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho
Modelo de base de dados relacional
1 Structured Query Language (SQL) 4 SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.
Aula 09: Comando SELECT: Ligações entre tabelas e Subconsultas
Daniel Paulo SQL Módulo I Daniel Paulo
Daniel Paulo SQL Módulo I Daniel Paulo
Recuperação de Dados Banco de Dados Carina Farias
VBA – Visual Basic para Aplicativos
UCSal – Bacharelado em Informática
Linguagem de definição de dados - SQL
SELECT Professor: Virgílio Fries Müller www. vfm.com.br
Programação para Internet Aula 10 Introdução (Características do BD Relacional e Implementação)
José Antônio da cunha IFRN Administração de Banco de Dados.
1 Programação de Banco de Dados José Antônio da Cunha George Azevedo da Silva.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 4 SQL básica.
Tecnologias e Linguagens para Banco de Dados I Prof. João Ricardo Andrêo 1/6/ :17 1 Atividades: 1 – Descreva os tipos de dados existentes no Microsoft.
José Antônio da Cunha CEFET - RN José Antônio -
José Antônio da Cunha 2/6/2016 José Antônio - CEFET-RN 1 Disciplina: Banco de Dados.
Prática de Banco de Dados Créditos: Prof. Jefferson Silva Adaptações: Prof. Nécio de Lima Veras.
Normalização (4FN) Na literatura aparecem outras formas normais, como a forma normal de Boyce/Codd, a 4FN e a 5FN. Destas a única que tem importância na.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
José Antônio da Cunha 3/6/2016 José Antônio - CEFET-RN 1 Copyright © Dale Carnegie & Associates, Inc.
Banco de Dados para Redes– Aula 03 Prof. Me. Ronnison Reges Vidal.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 5 Mais SQL: Consultas Complexas, Triggers e Views.
Álgebra Relacional Prof.: José Antônio da Cunha CEFET-RN
BANCO DE DADOS Araújo Lima Set / 2018 Araújo.
Transcrição da apresentação:

Programação para Internet Aula 12 SQL (Comandos de Consulta ao BD)

SELECT Seleciona específicas colunas de uma relação. Sintaxe: SELECT, FROM ; Ex: SELECT Nome, Preco FROM Produto;

SELECT (Exemplo) Seleção de todas os campos (colunas) da tabela de Produto. Resp.: SELECT * FROM Produto; O exemplo utiliza o coringa "*" para selecionar as colunas na ordem em que foram criadas. A instrução From nos indica a necessidade de pesquisarmos tais dados apenas na tabela Produto.

WHERE A cláusula "where" corresponde ao operador seleção da álgebra relacional. Contém a condição que as tuplas devem obedecer a fim de serem listadas. Operadores lógicos: – = igual a; – > maior que; – >= maior que ou igual a; – < menor que; – <= menor que ou igual a.

WHERE Sintaxe: –SELECT FROM WHERE ; Exemplo: –SELECT Nome, País FROM Cliente WHERE Pais = ’Brasil’; –SELECT Nome, Ramal FROM Funcionario WHERE Sexo = ‘M';

Uso de Expressões Em uma consulta você pode mostrar não somente os campos mais também expressões sobre os campos. Sintaxe: SELECT, FROM ; Exemplo: SELECT Nome, Salario * 12 FROM Funcionario WHERE Salario > 1000;

Exemplo (Cont.) seleciona todos os produtos cujo valor seja maior que R$ ; Apresente o Nome destes produtos e o preço total de 12 peças; Valor de 12 peças = valor unitário multiplicado por 12.

Rotular Campos No Select você pode nomear campos e expressões com outros nomes. Ex.: SELECT Nome, Salario * 12 AS ‘Salário Anual’ FROM Funcionario WHERE Salario > 1000; Apresenta a instrução anterior alterando na consulta o nome para ‘nome C/ Salário maior q/ 1.000’.

DISTINCT A cláusula Distinct elimina duplicidades, significando que somente relações distintas serão apresentadas como resultado de uma pesquisa. Ex.: SELECT DISTINCT Pais FROM Cliente; O exemplo apresenta todos os Países que existe cliente cadastrado, porém omite eventuais duplicidades.

Demais Operadores between... and... → seleciona as linhas que os valores do campo estão entre dois valores (inclusive); in (.... ) → seleciona as linhas que os valores (do campo) estão contidos em uma lista de valores; Like → com um padrão de caracteres; is null → seleciona as linhas com valor nulo.

IS NULL Verifica se um campo tem valor nulo na seleção. Exemplo: seleciona os funcionários que tem valor nulo no campo salário; SELECT Nome, Ramal FROM Funcionario WHERE Salario IS NULL;

between... and... Verifica se um campo tem valor entre dois valores pré-definido; Exemplo: Seleciona os funcionários contratados entre 01/01/95 e 12/31/96; SELECT Nome, Sexo, salario FROM Funcionario WHERE DataAdmissao BETWEEN ‘01/01/95’ AND ‘12/31/96’;

IN Verifica se um campo está contido em uma lista de valores. Exemplo: seleciona os funcionários que trabalhão no departamento 10 e 30; SELECT Nome, Ramal FROM Funcionario WHERE CodDepartamento IN (10, 30);

LIKE Verifica se um campo tem o dado(string) começando por %; Exemplo: Seleciona os funcionários com o nome que comece com F; SELECT Nome, Ramal FROM Funcionario WHERE Nome LIKE 'F%'; Obs.: Em alguns bancos de dados o símbolo é o *

Operadores Negativos → diferente not nome_coluna = → diferente da coluna; not nome_coluna > → não maior que; not between → não entre dois valore; not in → não existente em uma lista; not like → diferente dos caracteres informado; is not null → não é um valor nulo.

Condições Múltiplas Consultas que necessitam de mais de um critério dentro da clausula WHERE. Utilizar os operadores "AND" (E) e "OR" (OU). Sintaxe: SELECT FROM WHERE AND|OR ;

Ordenação (ORDER BY) O comando Order by ordena os campos de retorno de uma seleção (consulta). Sem a clausula "order by" as linhas serão exibidas na seqüência que o SGBD determinar. Sintaxe: SELECT [,, …] FROM ORDER BY, [Campo2,..] [ASC|DESC];

Ordenação (ORDER BY) A ordenação pode ser feita por mais de um campo e em ordem diferente para cada campo. Exemplo: SELECT Nome, Ramal FROM Funcionario ORDER BY Nome, Ramal DESC;

Concatenando Colunas O operador ‘+’ serve para concatenar apenas textos ou colunas do tipo texto da seleção Ex.: SELECT Nome + ‘ Sexo:’ + Sexo FROM Funcionario;

Funções Agregadas (Agrupamento) Avg – Retorna á média do valores de um campo, ignorando nulos; Count – Retorna o número de linhas em que existe valo no campo, ignora os valores nulos; Max – Retorna o maior valor do campo; Min(expr) – Retorna o menor valor do campo;

Funções Agregadas (Agrupamento) Sum – Retorna a soma dos valores do campo ignorando os valores nulos. Ex.: SELECT Avg(Salario), Max(Salario), Min(Salario), Sum(Salario), Count(Salario) FROM Funcionario;

Agrupamento As funções de grupo operam sobre grupos de tuplas(linhas). Retornam resultados baseados em grupos de tuplas em vez do resultado por tupla individual. A cláusula "group by" do comando "select" é utilizada para dividir tuplas em grupos menores.

Agrupamento As funções de grupo devolvem uma informação sumarizada para cada grupo. Sintaxe: Select,, From Group BY, ; Ex.: SELECT CodFornecedor, COUNT(CodProduto) FROM ProdutoFornecedor GROUP BY CodFornecedor;

Exemplo (Cont.) O exemplo ele vai retornar a quantidade de produtos fornecidas por cada fornecedor; Qualquer coluna ou expressão, que não for uma função agregada, deverá constar da clausula "group by".

Having Como Qualquer coluna ou expressão na lista de seleção, que não for uma função agregada, deverá constar da cláusula "group by", é errado tentar impor uma "restrição" do tipo agregada na cláusula Where.

Having A cláusula "HAVING" pode ser utilizada para especificar quais grupos deverão ser exibidos, portanto restringindo-os. Sintaxe: Select, From Group by Having = ;

Exemplo Ex.: SELECT CodDepartamento, AVG(Salario) FROM Funcionario GROUP BY CodDepartamento HAVING CodDepartamento = 10;

Junções de tabelas Um comando SELECT também pode fazer uma consulta que traz dados de duas ou mais tabelas. Esse é um processo chamado de junção [join]. As tabelas têm uma coluna em comum que é usado para fazer as junções. A junção é possível apenas quando tivermos definido de forma adequada a chave estrangeira de uma tabela e sua referência (a chave primária).

Junções de tabelas Sintaxe: Select Colunas From, Where ; Condição de Junção: esta condição de junção é feita utilizando os campos da chave primaria e chave estrangeira das tabelas. Sintaxe:Tabela1.CampoEstrangeiro1=Ta belaN.CampoChave

Junções de tabelas Exemplo: O exemplo seguinte seleciona o nome do fornecedor e o código do produto que ele fornece. Select Nome, CodProduto From ProdutoFornecedor, Fornecedor Where Fornecedor.CodFornecedor = ProdutoFornecedor.CodFornecedor;

Junções de tabelas Observemos que um campo está na tabela Fornecedor e outro na Tabela ProdutoFornecedor. Deveremos então acessar os dados restringindo convenientemente as relações existentes entre as tabelas. Sabemos que CodFornecedor é chave primária da tabela de Fornecedor e também é chave estrangeira da Tabela de ProdutoFornecedor. Este campo será o responsável pela junção.

Junções de tabelas Esta junção trabalha com a idéia de juntar todas as tuplas de ProdutoFornecedor com todas as tuplas de Fornecedor logo está junção gera ( ProdutoFornecedor * Fornecedor ) Tuplas sendo restringido pela junção.

Junções de tabelas O SQL Server aceita duas sintaxes diferentes para junção de tabelas. Uma delas, mostrada anteriormente. A outra forma de sintaxe que pode ser usada é a sintaxe do padrão ANSI SQL Exemplo: Select Nome, CodProduto From ProdutoFornecedor inner join Fornecedor on Fornecedor.CodFornecedor = ProdutoFornecedor.CodFornecedor;

Bibliografia HEUSER Carlos A., Projeto de Banco de Dados, Ed. Sagra&Luzzatto, 4ª Edição.