Buscar

Aula 4 e 5 - SQL I. (Aula 12.09.2013)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 62 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 62 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 62 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Referência: Prof. Fábio Silvestre
BANCO DE DADOS
� Professor: Luciano Vale, MSc.
Contato: lucianovale@gmail.com
Referência: Prof. Fábio Silvestre
� Surgimento da linguagem SEQUEL por pesquisadores da IBM.
� SEQUEL foi a primeira linguagem criada para consulta a banco de
dados relacionais.
� Crescimento do bancos de dados sem uma linguagem padrão de
consulta definida.
� Surgimento de uma linguagem de consulta padrão chamada SQL
de um trabalho conjunto entre ISO e ANSI. (SQL-86).
� Aperfeiçoamentos da linguagem através do SQL-92, SQL99,
SQL:2003 e SQL:2005.
Referência: Prof. Fábio Silvestre
� LinguagemLinguagemLinguagemLinguagem dededede DefiniçãoDefiniçãoDefiniçãoDefinição dededede DadosDadosDadosDados (DDL)(DDL)(DDL)(DDL) - Linguagem
utilizada para definir a estrutura de armazenamento dos
dados, também chamada de dicionário de dados ou
metadados.
� LinguagemLinguagemLinguagemLinguagem dededede ManipulaçãoManipulaçãoManipulaçãoManipulação dededede DadosDadosDadosDados (DML)(DML)(DML)(DML) - Linguagem
utilizada para leitura e armazenamento de dados.
� LinguagemLinguagemLinguagemLinguagem dededede ControleControleControleControle dededede DadosDadosDadosDados (DCL)(DCL)(DCL)(DCL) - Linguagem
utilizada para controle de sessão, transação, além do
controle do próprio sistema de banco de dados.
Referência: Prof. Fábio Silvestre
� LinguagemLinguagemLinguagemLinguagem dededede DefiniçãoDefiniçãoDefiniçãoDefinição dededede DadosDadosDadosDados (DDL)(DDL)(DDL)(DDL) - Linguagem
utilizada para definir a estrutura de armazenamento dos
dados, também chamada de dicionário de dados ou
metadados.
� LinguagemLinguagemLinguagemLinguagem dededede ManipulaçãoManipulaçãoManipulaçãoManipulação dededede DadosDadosDadosDados (DML)(DML)(DML)(DML) - Linguagem
utilizada para leitura e armazenamento de dados.
� LinguagemLinguagemLinguagemLinguagem dededede ControleControleControleControle dededede DadosDadosDadosDados (DCL)(DCL)(DCL)(DCL) - Linguagem
utilizada para controle de sessão, transação, além do
controle do próprio sistema de banco de dados.
Referência: Prof. Fábio Silvestre
� CREATECREATECREATECREATE
� ALTERALTERALTERALTER
� DROPDROPDROPDROP
Referência: Prof. Fábio Silvestre
CREATE TABLE NOME_TABELANOME_TABELANOME_TABELANOME_TABELA (
COLCOLCOLCOL1111 TIPO_COL1 [NOT NULL],
COLCOLCOLCOL2222 TIPO_COL2 [NOT NULL],
...,
COLNCOLNCOLNCOLN TIPO_COLN [NOT NULL]
)
Referência: Prof. Fábio Silvestre
CREATE TABLE EDITORAEDITORAEDITORAEDITORA (
CODIGOCODIGOCODIGOCODIGO NUMBER NOT NULL,
NOMENOMENOMENOME VARCHAR2(80) NOT NULL
)
Referência: Prof. Fábio Silvestre
CREATE TABLE LIVROLIVROLIVROLIVRO (
CODIGOCODIGOCODIGOCODIGO NUMBER NOT NULL,
TITULOTITULOTITULOTITULO VARCHAR2(80) NOT NULL,
PRECOPRECOPRECOPRECO NUMBER,
LANCAMENTOLANCAMENTOLANCAMENTOLANCAMENTO DATE,
COD_EDITORACOD_EDITORACOD_EDITORACOD_EDITORA NUMBER(2)
)
Referência: Prof. Fábio Silvestre
� Chave Primária
� Chave Estrangeira
� Restrição de Domínio
Referência: Prof. Fábio Silvestre
CONSTRAINT NOME_RESTRIÇÃONOME_RESTRIÇÃONOME_RESTRIÇÃONOME_RESTRIÇÃO TIPO_RESTRIÇÃO
Referência: Prof. Fábio Silvestre
CREATE TABLE EDITORAEDITORAEDITORAEDITORA (
CODIGOCODIGOCODIGOCODIGO NUMBER CONSTRAINT PK_EDITORACONSTRAINT PK_EDITORACONSTRAINT PK_EDITORACONSTRAINT PK_EDITORA PRIMARY KEY,
NOMENOMENOMENOME VARCHAR2(80) NOT NULL
)
CREATE TABLE ASSUNTOASSUNTOASSUNTOASSUNTO (
CODIGOCODIGOCODIGOCODIGO NUMBER CONSTRAINTCONSTRAINTCONSTRAINTCONSTRAINT PK_ASSUNTOPK_ASSUNTOPK_ASSUNTOPK_ASSUNTO PRIMARY KEY,
NOMENOMENOMENOME VARCHAR2(100) NOT NULL
)
Referência: Prof. Fábio Silvestre
CREATE TABLE LIVROLIVROLIVROLIVRO (
CODIGOCODIGOCODIGOCODIGO NUMBER NOT NULL,
TITULOTITULOTITULOTITULO VARCHAR2(80) NOT NULL,
PRECOPRECOPRECOPRECO NUMBER,
LANCAMENTOLANCAMENTOLANCAMENTOLANCAMENTO DATE,
COD_ASSUNTOCOD_ASSUNTOCOD_ASSUNTOCOD_ASSUNTO NUMBER
CONSTRAINT FK_LIVRO_ASSUNTO
REFERENCES ASSUNTO,
COD_EDITORACOD_EDITORACOD_EDITORACOD_EDITORA NUMBER
CONSTRAINT FK_LIVRO_EDITORA
REFERENCES EDITORA
)
Referência: Prof. Fábio Silvestre
CREATE TABLE LIVROLIVROLIVROLIVRO (
CODIGOCODIGOCODIGOCODIGO NUMBER NOT NULL,
TITULOTITULOTITULOTITULO VARCHAR2(80)
CONSTRAINTCONSTRAINTCONSTRAINTCONSTRAINT CHK_TITULOCHK_TITULOCHK_TITULOCHK_TITULO
CHECK (TITULO LIKE ‘BANC%’),
PRECOPRECOPRECOPRECO CONSTRAINTCONSTRAINTCONSTRAINTCONSTRAINT CHK_PRECOCHK_PRECOCHK_PRECOCHK_PRECO
NUMBER CHECK (PRECO > 1500),
LANCAMENTOLANCAMENTOLANCAMENTOLANCAMENTO DATE,
COD_ASSUNTOCOD_ASSUNTOCOD_ASSUNTOCOD_ASSUNTO CONSTRAINTCONSTRAINTCONSTRAINTCONSTRAINT CHK_COD_ASSUNTOCHK_COD_ASSUNTOCHK_COD_ASSUNTOCHK_COD_ASSUNTO
NUMBER CHECK (COD_ASSUNTO IN (1,2,3))
)
Referência: Prof. Fábio Silvestre
ATRIBUTO TIPO_COLUNA DEFAULTDEFAULTDEFAULTDEFAULT VALOR_PADRAO
Referência: Prof. Fábio Silvestre
CREATE TABLE LIVROLIVROLIVROLIVRO (
CODIGOCODIGOCODIGOCODIGO NUMBER NOT NULL,
TITULOTITULOTITULOTITULO VARCHAR2(80) ,
PRECOPRECOPRECOPRECO NUMBER DEFAULT 150,
LANCAMENTOLANCAMENTOLANCAMENTOLANCAMENTO DATE DEFAULT SYSDATE,
COD_ASSUNTOCOD_ASSUNTOCOD_ASSUNTOCOD_ASSUNTO NUMBER
)
Referência: Prof. Fábio Silvestre
1. Impedindo a exclusão:
COD_ASSUNTO CHAR(1)
CONSTRAINT FK_LIVRO_ASSUNTO
REFERENCES ASSUNTO
ON DELETE RESTRICT
2. Transformando o valor da tabela filha em nulo:
COD_ASSUNTO CHAR(1)
CONSTRAINT FK_LIVRO_ASSUNTO
REFERENCES ASSUNTO
ON DELETE SET NULL
Referência: Prof. Fábio Silvestre
3. Excluindo em cascata:
COD_ASSUNTO CHAR(1)
CONSTRAINT FK_LIVRO_ASSUNTO
REFERENCES ASSUNTO
ON DELETE CASCADE
Referência: Prof. Fábio Silvestre
CREATE TABLE LIVROLIVROLIVROLIVRO (
CODIGOCODIGOCODIGOCODIGO NUMBER NOT NULL,
TITULOTITULOTITULOTITULO VARCHAR2(80) NOT NULL,
PRECOPRECOPRECOPRECO NUMBER,
LANCAMENTOLANCAMENTOLANCAMENTOLANCAMENTO DATE,
COD_ASSUNTOCOD_ASSUNTOCOD_ASSUNTOCOD_ASSUNTO NUMBER
CONSTRAINT FK_LIVRO_ASSUNTO
REFERENCES ASSUNTO,
COD_EDITORACOD_EDITORACOD_EDITORACOD_EDITORA NUMBER
CONSTRAINT FK_LIVRO_EDITORA
REFERENCES EDITORA
ON DELETE CASCADE
)
Referência: Prof. Fábio Silvestre
ALTER TABLE NOME_TABELANOME_TABELANOME_TABELANOME_TABELA
ADD [COLUMN] NOME_COLUNANOME_COLUNANOME_COLUNANOME_COLUNA TIPO_COLUNA RESTRIÇÕES
Obs.: A palavra reservada COLUMNCOLUMNCOLUMNCOLUMN é opcional no DB2 9, mas não pode
ser utilizada no Oracle 10g e no SQL Server 2005.
Referência: Prof. Fábio Silvestre
ALTER TABLE LIVROLIVROLIVROLIVRO
ADD EDICAOEDICAOEDICAOEDICAO NUMBER(5)
ALTER TABLE EDITORAEDITORAEDITORAEDITORA
ADD CIDADECIDADECIDADECIDADE VARCHAR2(50) NOT NULL
Referência: Prof. Fábio Silvestre
ALTER TABLE NOME_TABELANOME_TABELANOME_TABELANOME_TABELA
DROP [COLUMN] NOME_COLUNANOME_COLUNANOME_COLUNANOME_COLUNA
Obs.: A palavra reservada COLUMNCOLUMNCOLUMNCOLUMN é opcional no DB2 9, mas é
requerida no Oracle 10g e no SQL Server 2005.
Referência: Prof. Fábio Silvestre
ALTER TABLE LIVROLIVROLIVROLIVRO
DROP COLUMN EDICAOEDICAOEDICAOEDICAO
ALTER TABLE EDITORAEDITORAEDITORAEDITORA
DROP COLUMN CIDADECIDADECIDADECIDADE
Referência: Prof. Fábio Silvestre
ALTER TABLE NOME_TABELANOME_TABELANOME_TABELANOME_TABELA
ADD CONSTRAINT NOME_RESTRIÇÃONOME_RESTRIÇÃONOME_RESTRIÇÃONOME_RESTRIÇÃO
TIPO_RESTRIÇÃO ( COLUNACOLUNACOLUNACOLUNA1111_RESTRIÇÃO_RESTRIÇÃO_RESTRIÇÃO_RESTRIÇÃO,
COLUNACOLUNACOLUNACOLUNA2222_RESTRIÇÃO_RESTRIÇÃO_RESTRIÇÃO_RESTRIÇÃO,
...,
COLUNAN_RESTRICAOCOLUNAN_RESTRICAOCOLUNAN_RESTRICAOCOLUNAN_RESTRICAO)
Referência: Prof. Fábio Silvestre
ALTER TABLE LIVRO LIVRO LIVRO LIVRO 
ADD CONSTRAINT PK_LIVROPK_LIVROPK_LIVROPK_LIVRO PRIMARY KEY(CODIGOCODIGOCODIGOCODIGO)
ALTER TABLE LIVRO LIVRO LIVRO LIVRO 
ADD CONSTRAINT FK_LIVRO_ASSUNTOFK_LIVRO_ASSUNTOFK_LIVRO_ASSUNTOFK_LIVRO_ASSUNTO
FOREIGN KEY(COD_ASSUNTOCOD_ASSUNTOCOD_ASSUNTOCOD_ASSUNTO) REFERENCES ASSUNTOASSUNTOASSUNTOASSUNTO
ALTER TABLE LIVRO LIVRO LIVROLIVRO 
ADD CONSTRAINT FK_LIVRO_EDITORAFK_LIVRO_EDITORAFK_LIVRO_EDITORAFK_LIVRO_EDITORA
FOREIGN KEY(COD_EDITORACOD_EDITORACOD_EDITORACOD_EDITORA) REFERENCES EDITORAEDITORAEDITORAEDITORA
Referência: Prof. Fábio Silvestre
ALTER TABLE NOME_TABELANOME_TABELANOME_TABELANOME_TABELA
DROP CONSTRAINT NOME_RESTRIÇÃONOME_RESTRIÇÃONOME_RESTRIÇÃONOME_RESTRIÇÃO
Referência: Prof. Fábio Silvestre
ALTER TABLE LIVROLIVROLIVROLIVRO
DROP CONSTRAINT PK_LIVROPK_LIVROPK_LIVROPK_LIVRO
ALTER TABLE LIVROLIVROLIVROLIVRO
DROP CONSTRAINT FK_LIVRO_EDITORAFK_LIVRO_EDITORAFK_LIVRO_EDITORAFK_LIVRO_EDITORA
Referência: Prof. Fábio Silvestre
DROP TABLE NOME_TABELANOME_TABELANOME_TABELANOME_TABELA [CASCADE]
Obs.: A palavra reservada CASCADECASCADECASCADECASCADE não é reconhecida no DB2 9. No
Oracle 10g, a palavra reservada CASCADECASCADECASCADECASCADE deve vir acompanhada
da palavra CONSTRAINTSCONSTRAINTSCONSTRAINTSCONSTRAINTS. O SQL Server 2005 não reconhece a
cláusula CASCADECASCADECASCADECASCADE.
Referência: Prof. Fábio Silvestre
DROP TABLE LIVROLIVROLIVROLIVRO
DROP TABLE EDITORAEDITORAEDITORAEDITORA
DROP TABLE ASSUNTOASSUNTOASSUNTOASSUNTO CASCADE CONSTRAINTS
Referência: Prof. Fábio Silvestre
� LinguagemLinguagemLinguagemLinguagem dededede DefiniçãoDefiniçãoDefiniçãoDefinição dededede DadosDadosDadosDados (DDL)(DDL)(DDL)(DDL) - Linguagem
utilizada para definir a estrutura de armazenamento dos
dados, também chamada de dicionário de dados ou
metadados.
� LinguagemLinguagemLinguagemLinguagem dededede ManipulaçãoManipulaçãoManipulaçãoManipulação dededede DadosDadosDadosDados (DML)(DML)(DML)(DML) - Linguagem
utilizada para leitura e armazenamento de dados.
� LinguagemLinguagemLinguagemLinguagem dededede ControleControleControleControle dededede DadosDadosDadosDados (DCL)(DCL)(DCL)(DCL) - Linguagem
utilizada para controle de sessão, transação, além do
controle do próprio sistema de banco de dados.
Referência: Prof. Fábio Silvestre
� INSERTINSERTINSERTINSERT
� UPDATEUPDATEUPDATEUPDATE
� DELETEDELETEDELETEDELETE
Referência: Prof. Fábio Silvestre
INSERT INTO NOME_TABELANOME_TABELANOME_TABELANOME_TABELA (COLCOLCOLCOL1111, COLCOLCOLCOL2222, ..., COLNCOLNCOLNCOLN )
VALUES (VALVALVALVAL1111, VALVALVALVAL2222, ..., VALNVALNVALNVALN )
Referência: Prof. Fábio Silvestre
INSERT INTO LIVRO LIVRO LIVRO LIVRO (CODIGO, TITULO, PRECO, LANCAMENTOCODIGO, TITULO, PRECO, LANCAMENTOCODIGO, TITULO, PRECO, LANCAMENTOCODIGO, TITULO, PRECO, LANCAMENTO)
VALUES (1111, ‘BANCO DE DADOS PARA WEB’BANCO DE DADOS PARA WEB’BANCO DE DADOS PARA WEB’BANCO DE DADOS PARA WEB’, 432.45432.45432.45432.45, ‘16/05/2006’16/05/2006’16/05/2006’16/05/2006’)
INSERT INTO LIVRO LIVRO LIVRO LIVRO 
VALUES (2, ‘SISTEMAS OPERACIONAIS’SISTEMAS OPERACIONAIS’SISTEMAS OPERACIONAIS’SISTEMAS OPERACIONAIS’, 387.67387.67387.67387.67, NULL)
INSERT INTO LIVRO LIVRO LIVRO LIVRO (CODIGO, TITULO, PRECO, LANCAMENTOCODIGO, TITULO, PRECO, LANCAMENTOCODIGO, TITULO, PRECO, LANCAMENTOCODIGO, TITULO, PRECO, LANCAMENTO)
VALUES (1111, ‘BANCO DE DADOS PARA WEB’BANCO DE DADOS PARA WEB’BANCO DE DADOS PARA WEB’BANCO DE DADOS PARA WEB’, 432.45432.45432.45432.45, 
TO_DATE(‘16/05/2006’ , ‘DD/MM/YYYY’16/05/2006’ , ‘DD/MM/YYYY’16/05/2006’ , ‘DD/MM/YYYY’16/05/2006’ , ‘DD/MM/YYYY’) )
Referência: Prof. Fábio Silvestre
UPDATE NOME_TABELANOME_TABELANOME_TABELANOME_TABELA
SET COLCOLCOLCOL1111 = VALVALVALVAL1111,
COLCOLCOLCOL2222 = VALVALVALVAL2222,
...,
COLNCOLNCOLNCOLN = VALNVALNVALNVALN
WHERE EXPRESSAO_LOGICAEXPRESSAO_LOGICAEXPRESSAO_LOGICAEXPRESSAO_LOGICA
Referência: Prof. Fábio Silvestre
UPDATE LIVROLIVROLIVROLIVRO
SET PRECOPRECOPRECOPRECO = 42,
TITULOTITULOTITULOTITULO = ‘PROGRAMAÇÃO EM LINGUAGEM C’
WHERE CODIGOCODIGOCODIGOCODIGO = 2
UPDATE LIVROLIVROLIVROLIVRO
SET PRECOPRECOPRECOPRECO = 42,
COD_EDITORACOD_EDITORACOD_EDITORACOD_EDITORA = 1
WHERE COD_EDITORA COD_EDITORA COD_EDITORA COD_EDITORA = 2
AND PRECOPRECOPRECOPRECO > 50.50
Referência: Prof. Fábio Silvestre
DELETE
FROM NOME_TABELANOME_TABELANOME_TABELANOME_TABELA
WHERE EXPRESSAO_LOGICAEXPRESSAO_LOGICAEXPRESSAO_LOGICAEXPRESSAO_LOGICA
Referência: Prof. Fábio Silvestre
DELETE
FROM LIVROLIVROLIVROLIVRO
WHERE DATA_LANCAMENTODATA_LANCAMENTODATA_LANCAMENTODATA_LANCAMENTO IS NULL
AND PRECOPRECOPRECOPRECO > 50.32
DELETE
FROM LIVROLIVROLIVROLIVRO
WHERE COD_ASSUNTOCOD_ASSUNTOCOD_ASSUNTOCOD_ASSUNTO = ‘B’
OR DATA_LANCAMENTODATA_LANCAMENTODATA_LANCAMENTODATA_LANCAMENTO IS NULL
Referência: Prof. Fábio Silvestre
Referência: Prof. Fábio Silvestre
SELECTSELECTSELECTSELECT COL1,
COL2,
...,
COLN
FROMFROMFROMFROM NOME_TABELA1,
NOME_TABELA2,
...,
NOME_TABELAN
WHEREWHEREWHEREWHERE EXPRESSAO_LOGICA_WHERE
GROUPGROUPGROUPGROUP BYBYBYBY COL1,
COL2,
...,
COLN
HAVINGHAVINGHAVINGHAVING EXPRESSAO_LOGICA_HAVING
ORDERORDERORDERORDER BYBYBYBY COL1,
COL2,
...,
COLN
Referência: Prof. Fábio Silvestre
SELECTSELECTSELECTSELECT COL1,
COL2,
...,
COLN
FROMFROMFROMFROM NOME_TABELA
Referência: Prof. Fábio Silvestre
SELECTSELECTSELECTSELECT CODIGO,
TITULO
FROMFROMFROMFROM LIVRO
CODIGO TITULO
---------- -------------------------------------
----
1 BANCO DE DADOS PARA WEB
2 PROGRAMANDO EM LINGUAGEM C
3 PROGRAMANDO EM LINGUAGEM C++
4 BANCO DE DADOS NA BIOINFORMÁTICA
5 REDES DE COMPUTADORES
Referência: Prof. Fábio Silvestre
SELECTSELECTSELECTSELECT COL1,
COL2,
...,
COLN
FROMFROMFROMFROM NOME_TABELA
WHEREWHEREWHEREWHERE EXPRESSAO_LOGICA
Referência: Prof. Fábio Silvestre
1111.... OperadoresOperadoresOperadoresOperadores dededede ComparaçãoComparaçãoComparaçãoComparação::::
>, <, =, >=, <=, <>
2222.... OperadoresOperadoresOperadoresOperadores LógicosLógicosLógicosLógicos::::
AND, OR e NOT
3333.... PredicadosPredicadosPredicadosPredicados própriosprópriosprópriospróprios dadadada linguagemlinguagemlinguagemlinguagem SQLSQLSQLSQL::::
IS (NOT) NULL, LIKE, IN e EXISTS
Referência: Prof. Fábio Silvestre
1. ComparaçõesComparaçõesComparaçõesComparações atravésatravésatravésatravés operadoresoperadoresoperadoresoperadores relacionaisrelacionaisrelacionaisrelacionais:
WHEREWHEREWHEREWHERE PRECO > 50
WHEREWHEREWHEREWHERE PRECO > 50
ANDANDANDAND ASSUNTO = ‘P’
2. ComparaçõesComparaçõesComparaçõesComparações comcomcomcom valorvalorvalorvalor nulonulonulonulo:
WHEREWHEREWHEREWHERE DATA_LANCAMENTO IS NULL
WHEREWHEREWHEREWHERE DATA_LANCAMENTO IS NOT NULL
Referência: Prof. Fábio Silvestre
3. ComparaçõesComparaçõesComparaçõesComparações comcomcomcom cadeiacadeiacadeiacadeia dededede caracterescaracterescaracterescaracteres::::
WHEREWHEREWHEREWHERE TITULO LIKE ‘BANCO DE DADOS’
WHEREWHEREWHEREWHERE TITULO LIKE ‘BANCO DE DADOS%’
WHEREWHEREWHEREWHERE TITULO LIKE ‘%BANCO DE DADOS’
WHEREWHEREWHEREWHERE TITULO LIKE ‘%BANCO DE DADOS%’
WHEREWHEREWHEREWHERE TITULO LIKE ‘%BANCO%DADOS%’
Referência: Prof. Fábio Silvestre
3. ComparaçõesComparaçõesComparaçõesComparações emememem intervalointervalointervalointervalo dededede valoresvaloresvaloresvalores::::
WHEREWHEREWHEREWHERE PRECO BETWEENBETWEENBETWEENBETWEEN 30 ANDANDANDAND 100
4. ComparaçõesComparaçõesComparaçõesComparações emememem umumumum conjuntoconjuntoconjuntoconjunto dededede valoresvaloresvaloresvalores:
WHEREWHEREWHEREWHERE ASSUNTO ININININ (‘S’, ‘P’, ‘B’)
Referência: Prof. Fábio Silvestre
SELECTSELECTSELECTSELECT TITULO
FROMFROMFROMFROM LIVRO
WHEREWHEREWHEREWHERE DATA_LANCAMENTO IS NULL
TITULO
----------------------------------------------------
BANCO DE DADOS NA BIOINFORMATICA
Referência: Prof. Fábio Silvestre
SELECTSELECTSELECTSELECT COD_ASSUNTO
FROMFROMFROMFROM LIVRO
WHEREWHEREWHEREWHERE CODIGO = 3
COD_ASSUNTO
-------------------
P
Referência: Prof. Fábio Silvestre
SELECTSELECTSELECTSELECT CODIGO,
TITULO,PRECO
FROMFROMFROMFROM LIVRO
WHEREWHEREWHEREWHERE TITULO LIKELIKELIKELIKE ‘%LINGUAGEM C%’
CODIGO TITULO PRECO
----------- --------------------------------------
------ ---------------
2 PROGRAMANDO EM LINGUAGEM C 30
3 PROGRAMANDO EM LINGUAGEM C++ 111.5
Referência: Prof. Fábio Silvestre
� Contagem
� Soma
� Média
� Valor Máximo
� Valor Mínimo
Referência: Prof. Fábio Silvestre
SELECT COUNT(*)
FROM LIVRO
COUNT(*)
------------
5
SELECT COUNT(CODIGO)
FROM LIVRO
COUNT(CODIGO)
-------------
5
SELECT COUNT(LANCAMENTO)
FROM LIVRO
COUNT(LANCAMENTO)
-------------
4
Referência: Prof. Fábio Silvestre
SELECT SUM(PRECO)
FROM LIVRO
SUM(PRECO)
----------------
262.7
Referência: Prof. Fábio Silvestre
SELECT AVG(PRECO)
FROM LIVRO
AVG(PRECO)
----------------
52.54
Referência: Prof. Fábio Silvestre
SELECT MAX(PRECO)
FROM LIVRO
MAX(PRECO)
----------------
111.5
Referência: Prof. Fábio Silvestre
SELECT MIN(PRECO)
FROM LIVRO
MIN(PRECO)
----------------
31.2
Referência: Prof. Fábio Silvestre
SELECTSELECTSELECTSELECT COL1,
COL2,
...,
COLN,
FUNCAO1,
FUNCAO2,
...,
FUNCAON
FROMFROMFROMFROM NOME_TABELA
WHEREWHEREWHEREWHERE EXPRESSAO_LOGICA
GROUPGROUPGROUPGROUP BYBYBYBY COL1, COL2, ..., COLN
Referência: Prof. Fábio Silvestre
SELECT COD_ASSUNTO, AVG(PRECO)
FROM LIVRO
GROUP BY COD_ASSUNTO
COD_ASSUNTO AVG(PRECO)
------------------- ----------------
B 39.6
P 70.75
R 42
Referência: Prof. Fábio Silvestre
SELECT COD_ASSUNTO, MAX(PRECO)
FROM LIVRO
WHERE LANCAMENTO IS NOT NULL
GROUP BY COD_ASSUNTO
COD_ASSUNTO MAX(PRECO)
------------------- ----------------
B 31.2
P 111.5
R 42
Referência: Prof. Fábio Silvestre
SELECT CODIGO, COD_ASSUNTO, MAX(PRECO)
FROM LIVRO
GROUP BY CODIGO, COD_ASSUNTO
CODIGO COD_ASSUNTO MAX(PRECO)
------------ --------------------- ---------------
-
1 B 31.2
2 P 30
3 P 111.5
4 B 48
5 R 42
Referência: Prof. Fábio Silvestre
SELECTSELECTSELECTSELECT COL1,
COL2,
...,
COLN,
FUNCAO1,
FUNCAO2,
...,
FUNCAON
FROMFROMFROMFROM NOME_TABELA
WHEREWHEREWHEREWHERE EXPRESSAO_LOGICA_WHERE
GROUPGROUPGROUPGROUP BYBYBYBY COL1, COL2, ..., COLN
HAVINGHAVINGHAVINGHAVING EXPRESSAO_LOGICA_HAVING
Referência: Prof. Fábio Silvestre
SELECT COD_ASSUNTO
FROM LIVRO
GROUP BY COD_ASSUNTO
HAVING AVG(PRECO) > 50
COD_ASSUNTO
---------------------
P
Referência: Prof. Fábio Silvestre
SELECT COD_ASSUNTO, COUNT(*)
FROM LIVRO
GROUP BY COD_ASSUNTO
HAVING COUNT(*) > 1
COD_ASSUNTO COUNT(*)
---------------------- -------------
B 2
P 2
Referência: Prof. Fábio Silvestre
SELECT COD_ASSUNTO, COUNT(*)
FROM LIVRO
WHERE DATA_LANCAMENTO IS NOT NULL
GROUP BY COD_ASSUNTO
HAVING COUNT(*) > 1
COD_ASSUNTO COUNT(*)
-------------------- -------------
P 2

Outros materiais