Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

Documentos relacionados
BANCO DE DADOS. SQL Select. Engenharia da Computação. Aula 20. Vamos considerar a tabela EMP para os exemplos a seguir. SELECT colunas FROM tabelas;

Banco de Dados II. Aula do dia 10/03. Revisão. SQL Estudado até o dia 03/03/2011

IMPLEMENTAÇÃO DE BANCO DE DADOS

ACH2025. Laboratório de Bases de Dados. SQL Oracle Visão geral SELECT. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

Linguagem de Consulta Estruturada SQL- DML

SQL (Tópicos) Structured Query Language

SISTEMAS DE INFORMAÇÃO BANCO DE DADOS SQL PROF: EDSON THIZON

SISTEMAS DE INFORMAÇÃO BANCO DE DADOS 2. SQL (Select) PROF: EDSON THIZON

TLBD II Instruções SQL

Rápida revisão do Modelo Relacional

Banco de Dados. Prof. Antonio

Linguagem de Consulta Estruturada SQL- DML

SQL. Prof. Roger Cristhian Gomes

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

Manipulação de Dados com SQL

BCD29008 Banco de dados

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

Comandos de Manipulação

SISTEMAS DE INFORMAÇÃO BANCO DE DADOS SQL PROF: EDSON THIZON

BANCO DE DADOS SQL (DML: SELECT, INSERT, UPDATE, DELETE)

ANÁLISE E PROJETO DE BANCO DE DADOS

Page 1. Prof. Constantino Jacob

As Instruções DML. As Instruções de manipulação de dados(dml) em SQL são representados por: Modificam o estado do banco de dados:

Fundamentos de SQL. Curso: Técnico em Redes de Computadores Disciplina: Tecnologias e Linguagem de Banco de dados Professor: Rodrigo da Rocha

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Banco de Dados. Professora: Luciana Faria

TLBD II. Continuação

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

MySql. Introdução a MySQL. Andréa Garcia Trindade

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

saída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única

Unidade 5 05/11/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

A lista abaixo possui funções especiais, que em alguns contextos podem ser enquadradas como "pseudo-colunas" da tabela.

SQL - Structured Query Language. Karine Reis Ferreira

ACH2025. Laboratóriode Bases de Dados. SQL Oracle Asserçõese gatilhos. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

Ana Cristina de Figueiredo Dornelas SQL E ORACLE 3ª. PARTE

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka

Revisão + Visões + Sub-Consultas + JOINS

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

ACH2025. Aula 11. Visões. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

Banco de Dados. Prof. Dr. Joel da Silva SQL - Introdução

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

mod._1_teoria_sistemas de bancos de dados.doc

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Prof. Fabiano Taguchi

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Banco de Dados I Introdução SQL

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 17. Escola Politécnica da Universidade de São Paulo

Introdução ao PostgreSQL

PROGRAMA. 3.SQL Básico. 3.1 Criação de tabelas 3.2 Queries simples 3.3 Subqueries 3.4 Agregação. Prof. Dr. Marcos Tsuzuki

Marcelo Henrique dos Santos

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

Banco de Dados I (2019.1) Prof. Tiago Eugenio de Melo

SQL Structured Query Language

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

Oracle Database 11g: Introdução à Linguagem SQL Novo

EXEMPLOS DE COMANDOS NO SQL SERVER

Linguagem SQL Comando SELECT Agrupamento de Resultados

MySQL. Introdução Prof. Erinaldo Nascimento

Fundamentos de Programação ORACLE: SQL. Prof. Walter Gima

Bancos (Bases) de Dados

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer

Manipulando a base de dados

Banco de Dados. Structured Query Language SQL. Prof. Walteno Martins Parreira Jr 1.

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

SQL Artigo e Resumo.

BANCO DE DADOS PARA NINJAS

A linguagem SQL

S Q L Asserções, Visões e Técnicas de Programação. Daniel Bordignon Cassanelli Fernando Luiz Grando Pedro Patitucci Finamore

SQL - Perguntas. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

Introdução ao Banco de Dados. Banco de Dados

Linguagem de Consulta Estruturada (SQL)

MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome>

A U L A 1 I N T R O D U Ç Ã O A B A N C O D E D A D O S E V I S Ã O G E R A L D O S Q L

Sumário SELECT + FROM

SQL DML. SQL Linguagem de Manipulação de Dados SELECT SELECT SELECT SELECT

DML. SQL (Select) Verificando estrutura da tabela

Transcrição:

Laboratório de Banco de Dados II Aula 04 Prof. Érick de Souza Carvalho 1

SQL (Structured Query Language ) Prof. Érick de Souza Carvalho 2

SQL Structured Query Language - Introdução É uma Linguagem para BD Relacional e Objeto-Relacional Padrão aceito pela ANSI e pela ISO Os Comandos SQL são os mesmos em qualquer SGBD Cada SGBD pode implementar funções particulares (estender SQL padrão) É uma linguagem declarativa (Você diz o que quer sem especificar como obter a resposta) Comandos em Várias Linhas (ou em uma única linha) Comandos Não Podem Ser Abreviados Comandos Terminados com ; Ponto e Vírgula (No Oracle e em vários SGBDs, mas não em todos ) UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 3

Tipos de Comandos SQL DRL Data Retrieval Language Linguagem de recuperação(consulta) de dados. Query. * Alguns autores não usam o termo DRL e chamam apenas de SELECT SELECT DML Data Manipulation Language Linguagem de manipulação de dados. Altera só os dados s/ alterar estrutura. INSERT, UPDATE, DELETE COMMIT, ROLLBACK DDL Data Definition Language Linguagem de definição de dados. Altera a estrutura e seus dados CREATE, ALTER, DROP, TRUNCATE DCL Data Control Language Linguagem de controle de acesso aos dados. Controla o acesso aos dados. Adiciona ou remove privilégios GRANT, REVOKE UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 4

SELECT x ÁLGEBRA RELACIONAL Seleção ou Restrição Projeção Tabela1 Tabela1 Junção Tabela1 Tabela2 UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 5

Estrutura (Cláusulas) do comando SELECT Todo comando select vai sempre seguir esta estrutura Cada parte é chamada de cláusula Obrigatório Opcional SELECT FROM WHERE GROUP BY HAVING ORDER BY Especifica as colunas que serão projetadas Especifica as tabelas que desejamos consultar Especifica as condições (filtros) que desejamos fazer Quais linhas desejamos selecionar Especifica por quais colunas que desejamos agrupar Usamos para calcular: médias, somas, contagens etc... (conhecidas como funções de grupo) Especifica as condições (filtros) sobre os dados agrupados Só é usado em conjunto com o GROUP BY. Normalmente as condições são implementadas sobre as funções de grupo. Especifica por quais colunas desejamos ordenar o resultado UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 6

SELECT Básico SELECT * Coluna1 [Apelido1], Coluna2 [Apelido2]... FROM [schema.]tabela; SELECT * FROM emp; SELECT empno, ename, sal FROM emp; SELECT empno matricula, ename nome, sal salario FROM emp; [ ] Opcional * Todos os Campos From - View ou Tabela UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 7

SELECT Cabeçalho e Alinhamento (No Oracle) Alinhamento Default dos Dados e do Cabeçalho: Esquerda: Dados de Character e Data Direita: Dados Numérico Cabeçalho em Letras Maiúsculas Dados conforme cadastrado SELECT empno, ename, sal FROM emp; EMPNO ENAME SAL ---------- ---------- ---------- 7900 JAMES 950 7902 FORD 3000 7934 MILLER 1300 1 Miller UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 8

Operadores Aritméticos Operador Descrição + Adição - Subtração * Multiplicação / Divisão Criar Expressões com Dados Numéricos e Data Qualquer Operação com NULL Retorna NULL SELECT ename, sal, sal/2, hiredate, hiredate+1 Data_Nova FROM emp; ENAME SAL SAL/2 HIREDATE DATA_NOVA ---------- ---------- ---------- --------- --------- JAMES 950 475 03-DEC-81 04-DEC-81 FORD 3000 1500 03-DEC-81 04-DEC-81 MILLER 1300 650 23-JAN-82 24-JAN-82 Miller UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 9

Operador de Concatenação Operador Descrição Concatenação São Duas Barras Verticais ou Dois Pipes Criar Expressões com Dados Character, Numéricos, Data, Strings etc... O Resultado é sempre Character SELECT empno, ename, empno ename FROM emp; EMPNO ENAME EMPNO ENAME ---------- ---------- ------------- 7900 JAMES 7900JAMES 7902 FORD 7902FORD SELECT O Salario do ename é sal FROM emp; 'OSALARIODO' ENAME 'É' SAL ----------------------------- O salario do JAMES é 950 O salario do MILLER é 1300 O salario do Miller é UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 10

Operador de Concatenação para Geração de Scripts SELECT 'SELECT COUNT(*) FROM ' TABLE_NAME ';' FROM USER_TABLES; 'SELECTCOUNT(*)FROM' TABLE_NAME ';' -------------------------------------- SELECT COUNT(*) FROM BONUS; SELECT COUNT(*) FROM DEPT; SELECT COUNT(*) FROM DEPT2; SELECT COUNT(*) FROM DEPT3; SELECT COUNT(*) FROM DEPT4; SELECT COUNT(*) FROM DEPT5; SELECT COUNT(*) FROM EMP; O resultado do comando é um conjunto de comandos, ou seja, um script gerado dinamicamente. UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 11

Eliminando Linhas Duplicadas no SELECT DISTINCT Retorna Linhas Distintas e Ordenadas SELECT deptno FROM emp; DEPTNO ---------- 20 30 30 30 10 20 10 30 20 30 20 10 SELECT DISTINCT deptno FROM emp; DEPTNO ---------- 10 20 30 4 rows selected. 13 rows selected. UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 12

Limitando Linhas Selecionadas no SELECT WHERE Especifica Condições Separadas por AND ou OR SELECT ename, deptno FROM emp WHERE deptno = 10; ENAME DEPTNO ---------- ---------- CLARK 10 KING 10 MILLER 10 3 rows selected. SELECT ename, deptno FROM emp WHERE deptno = 10 AND ename = MILLER ; ENAME DEPTNO ---------- ---------- MILLER 10 1 row selected. UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 13

Operadores de Comparação Operador Descrição =, <>, >, >=, <, <= Operadores Básicos BETWEEN valor1 AND valor2 Range de Valores IN (valor1, valor2, valor3...) LIKE IS NULL IS NOT NULL Lista de Valores Procura parte de uma string usando % e _ Um valor é nulo (NULL) Um valor não é nulo UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 14

Operadores de Comparação - Exemplos SELECT ename, deptno FROM emp WHERE ename = MILLER ; SELECT ename, deptno FROM emp WHERE ename <> MILLER ; SELECT ename, deptno FROM emp WHERE deptno >= 30; SELECT ename, deptno, sal FROM emp WHERE sal BETWEEN 1000 AND 2000; SELECT ename, job, sal FROM emp WHERE job IN ('CLERK', 'SALESMAN'); SELECT ename FROM emp WHERE ename LIKE '%AR% ; SELECT ename FROM emp WHERE ename LIKE '_L% ; SELECT ename, deptno FROM emp WHERE deptno IS NULL; SELECT ename, deptno FROM emp WHERE deptno IS NOT NULL; UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 15

Operadores Lógicos Operador AND OR NOT Descrição E Retorna TRUE Se Todas as Condições forem TRUE Ou Retorna TRUE Se Pelo menos uma Condição for TRUE Negação Retorna TRUE se a condição for FALSE UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 16

Operadores de Lógicos - Exemplos SELECT ename, deptno FROM emp WHERE ename = MILLER AND deptno >= 30; SELECT ename, deptno, sal FROM emp WHERE sal NOT BETWEEN 1000 AND 2000; SELECT ename, job, sal FROM emp WHERE job NOT IN ('CLERK', 'SALESMAN'); SELECT ename FROM emp WHERE ename LIKE %AR% OR ename LIKE '_L% ; UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 17

Classificando as Linhas Selecionadas no SELECT ORDER BY Especifica a(s) coluna(s) que Classifica(m) (Ordena(m)) o Resultado ASC Ordem Crescente (Default) DESC Ordem Decrescente A Ordenação é feita inicialmente na Memória PGA (SORT_AREA_SIZE) Se não for suficiente usa a Tablespace Temporária Se ainda não for Suficiente Retorna Erro SELECT [DISTINCT] * Coluna1 [Apelido1], Coluna2 [Apelido2]... FROM [schema.]tabela [WHERE condições] ORDER BY Coluna1 [ASC DESC], Coluna2 [ASC DESC]...; UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 18

Classificando Dados - Exemplos SELECT ename, hiredate FROM emp ORDER BY hiredate; SELECT ename, hiredate FROM emp ORDER BY hiredate DESC; SELECT ename, job, sal, comm FROM emp WHERE job NOT IN ('CLERK', 'SALESMAN') ORDER BY sal, comm, ename; UniFOA Centro Universitário de Volta Redonda Prof. Érick de S. Carvalho LabBD2_4P_Aula04A 19