Você está na página 1de 6

Operaes com conjuntos:

Union
Intersection (In)
Minus (Not In)

Resultado

Com origem

O 5 aparece 2 vezes por causa da origem ou por causa do union all

Valores que tem em comum nas duas tabelas

S os valores em comum no aparecem

Indexao

ndice ordenado pelo nome

ndice ordenado pelo salrio

Para fazer a busca sem usar o index utilizar o seguinte cdigo:

Adicionar um usurio

Exception

Site: http://www.generatedata.com/#about

/* Conceder o privilgio de ler os dados da tabela categories ao


usuario "outro". */
GRANT SELECT ON CATEGORIES TO OUTRO ;
/* Permitir que o usuario "outro" leia a tabela orders. */
GRANT SELECT ON ORDERS TO OUTRO ;
/* Permitir que o usuario outro insira registros a tabela categories e
que autorize outros usuios a fazer isso. */
GRANT INSERT ON CATEGORIES TO OUTRO WITH GRANT OPTION;
/* Criar o personagem OPERADOR. */
CREATE ROLE OPERADOR ;
/* Permitir ao personagem operador ver os dados da tabela
order_detail. */
GRANT SELECT ON ORDER_DETAILS TO OPERADOR ;
/* Vincular o usurio OUTRO ao personagem OPERADOR. */
GRANT OPERADOR TO OUTRO ;

ROLE =Criar personagens

Cdigos
SELECT * FROM MOTORISTA ORDER BY NOME;
/* CRIAR UM NDICE PARA O NOME DO MOTORISTA. */
CREATE INDEX IDX_NOME ON MOTORISTA(NOME) ;
SELECT * FROM MOTORISTA ORDER BY NOME;
SELECT * FROM MOTORISTA WHERE SALARIO BETWEEN 1000 AND 2000;
CREATE INDEX IDX_SALARIO ON MOTORISTA(SALARIO) ;
SELECT * FROM MOTORISTA WHERE SALARIO BETWEEN 1000 AND 2000;
SELECT * FROM MOTORISTA WHERE SALARIO BETWEEN 1000 AND 2000 PLAN (
MOTORISTA NATURAL );

/* Elaborar uma lista telefnica donde constem clientes e


funcionrios, contendo nome, telefone e natureza
(cliente,funcionario). */
SELECT E.FULL_NAME, E.PHONE_EXT, E.JOB_COUNTRY, 'FUNCIONARIO' NATUREZA
FROM
EMPLOYEE E
UNION
SELECT C.CUSTOMER, C.PHONE_NO, C.COUNTRY, 'CLIENTE'
FROM CUSTOMER C
ORDER BY 1 ;
/* CONJUNTO A. */
CREATE TABLE TABELA_A
( VALOR_A SMALLINT ) ;
/* CONJUNTO B. */
CREATE TABLE TABELA_B
( VALOR_B SMALLINT ) ;
INSERT INTO TABELA_A VALUES ( 1 ) ;
INSERT INTO TABELA_A VALUES ( 3 ) ;
INSERT INTO TABELA_A VALUES ( 5 ) ;
INSERT
INSERT
INSERT
INSERT

INTO
INTO
INTO
INTO

TABELA_B
TABELA_B
TABELA_B
TABELA_B

VALUES
VALUES
VALUES
VALUES

(
(
(
(

2
4
5
6

)
)
)
)

;
;
;
;

SELECT * FROM TABELA_A;


SELECT * FROM TABELA_B;
/* A OPERAO UNION SUPRIME TUPLAS IGUAIS. */
SELECT VALOR_A FROM TABELA_A
UNION
SELECT VALOR_B FROM TABELA_B
ORDER BY 1;
/* PARA REPETIR TUPLAS USAR UNION ALL. */
SELECT VALOR_A FROM TABELA_A
UNION ALL
SELECT VALOR_B FROM TABELA_B
ORDER BY 1;
/* PARA PROMOVER OPERAO DE INTERSECO. */
SELECT VALOR_A FROM TABELA_A WHERE VALOR_A IN ( SELECT VALOR_B FROM
TABELA_B) ;
/* PARA PROMOVER OPERAO DE SUBTRAO. */
SELECT VALOR_A FROM TABELA_A WHERE VALOR_A
FROM TABELA_B) ;

NOT IN ( SELECT VALOR_B

Você também pode gostar