Usando as perguntas dos operadores de conjunto
1.Which SET operator does the following figure indicate?
- UNION
- UNION ALL
- INTERSECT
- MINUS
Answer: A. Operadores de conjunto são usados para combinar os resultados de duas (ou mais) instruções SELECT. Os operadores de conjunto válidos no Oracle 11g são UNION, UNION ALL, INTERSECT e MINUS. Quando usado com duas instruções SELECT, o operador do conjunto UNION retorna os resultados de ambas as consultas. No entanto, se houver duplicatas, elas são removidas e o registro duplicado é listado apenas uma vez. Para incluir duplicatas nos resultados, use UNION ALL set operator.INTERSECT lista apenas os registros que são retornados por ambas as consultas; o operador MINUS set remove os resultados da segunda consulta da saída se eles também forem encontrados nos resultados da primeira consulta. As operações de conjunto INTERSECT e MINUS produzem resultados não duplicados.
2.Which SET operator does the following figure indicate?
- UNION
- UNION ALL
- INTERSECT
- MINUS
Answer: B. UNION ALL Retorna as linhas combinadas de duas consultas sem classificar ou remover duplicatas.
3.Which SET operator does the following figure indicate?
- UNION
- UNION ALL
- INTERSECT
- MINUS
Answer: C. INTERSECT Retorna apenas as linhas que ocorrem nos conjuntos de resultados de ambas as consultas, classificando-as e removendo duplicatas.
4.Which SET operator does the following figure indicate?
- UNION
- UNION ALL
- INTERSECT
- MINUS
Answer: D. MINUS Retorna apenas as linhas no primeiro conjunto de resultados que não aparecem no segundo conjunto de resultados, classificando-as e removendo duplicatas.
5.What is true about SET operators?
- Eles mudam os valores das linhas
- Eles combinam os resultados de apenas duas consultas de componentes em um resultado
- Eles combinam os resultados de 10 consultas de componentes em dois conjuntos de resultados.
- Eles combinam os resultados de duas ou mais consultas de componentes em um resultado
Answer: D. Operadores de conjunto são usados para combinar os resultados de duas (ou mais) instruções SELECT. Os operadores de conjuntos válidos no Oracle 11g são UNION, UNION ALL, INTERSECT e MINUS.
6.What are the queries containing SET operators called?
- Sub-queries
- Subconsultas correlacionadas
- Consultas GROUP BY
- Consultas compostas
Answer: D.
7.What is true about the UNION operator?
- Ele retorna linhas das consultas combinadas junto com valores NULL
- Ele retorna linhas para as consultas combinadas após eliminar duplicatas
- Ele retorna linhas para as consultas combinadas junto com valores duplicados
- Ele retorna linhas para as consultas combinadas, ignorando os valores NULL
Answer: B. UNION Retorna as linhas combinadas de duas consultas, classificando-as e removendo duplicatas.
8.What is true about the UNION ALL operator?
- Ele retorna linhas das consultas combinadas junto com valores NULL
- Ele retorna linhas para as consultas combinadas após eliminar duplicatas
- Ele retorna linhas para as consultas combinadas junto com valores duplicados
- Ele retorna linhas para as consultas combinadas, ignorando os valores NULL
Answer: C. UNION ALL Retorna as linhas combinadas de duas consultas sem classificar ou remover duplicatas.
9.What is true about the INTERSECT operator?
- Ele retorna linhas das consultas combinadas junto com valores NULL
- Ele retorna linhas para as consultas combinadas após eliminar duplicatas
- Ele retorna as linhas comuns das consultas combinadas
- Nenhuma das acima
Answer: C. INTERSECT Retorna apenas as linhas que ocorrem nos conjuntos de resultados de ambas as consultas, classificando-as e removendo duplicatas.
10.What is true about the MINUS operator?
- Ele retorna linhas da primeira consulta, mas não da segunda consulta
- Ele retorna linhas para a segunda consulta, mas não da primeira consulta
- Ele retorna linhas duplicadas para as consultas combinadas
- Ele retorna linhas para as consultas combinadas, ignorando os valores NULL
Answer: A. MINUS Retorna apenas as linhas no primeiro conjunto de resultados que não aparecem no segundo conjunto de resultados, classificando-as e removendo duplicatas.
11.What is the precedence of the set operators UNION, UNION ALL, INTERSECT and MINUS?
- UNION, UNION ALL, INTERSECT e MINUS
- MINUS, UNION, UNION ALL e INTERSECT
- INTERSECT, MINUS, UNION ALL, UNION
- Precedência igual
Answer: D. Os operadores SET têm precedência igual.
12.What is the order of evaluation of set operators?
- Da esquerda para direita
- Direita para esquerda
- Avaliação Aleatória
- De cima para baixo
Answer: A, D. Assumindo que não há agrupamento de consultas usando parênteses, os operadores SET serão avaliados de cima para baixo e da esquerda para a direita horizontalmente.
13.In which of the following cases, parenthesis should be specified?
- Quando INTERSECT é usado com outros operadores de conjunto
- Quando UNION é usado com UNION ALL
- Quando MINUS é usado para as consultas
- Nenhuma das acima
Answer: A. O uso de parênteses mudará explicitamente a ordem de avaliação quando INTERSECT for usado com outros operadores.
14.What is true about the SELECT clause when SET operators are used?
- Não há restrição quanto às colunas selecionadas
- As colunas, expressões usadas na cláusula SELECT devem corresponder em número nas consultas combinadas
- As colunas, expressões usadas na cláusula SELECT devem ser N na primeira consulta e N-1 nas consultas combinadas subsequentes
- B e C
Answer: B. Todos os combinados devem ter o mesmo não. de colunas ao usar operadores SET. As colunas correspondentes nas consultas que constituem uma consulta composta devem ser do mesmo grupo de tipo de dados.
15.What is true about the SET operators?
- A cláusula SELECT deve ter o mesmo número de colunas, os tipos de dados podem ser diferentes
- Os operadores SET podem ser usados apenas para combinar duas consultas
- O tipo de dados de cada coluna na 2ª consulta deve corresponder ao tipo de dados de sua coluna correspondente na primeira consulta.
- Nenhuma das acima
Answer: C. Todos os combinados devem ter o mesmo não. de colunas ao usar operadores SET. As colunas correspondentes nas consultas que constituem uma consulta composta devem ser do mesmo grupo de tipo de dados.
16.Where can the ORDER BY clause be used in case when SET operators are used?
- Em cada uma das consultas sendo combinadas
- Na primeira consulta apenas
- Bem no final da consulta composta
- Nenhuma das acima
Answer: C. Se a cláusula ORDER BY for usada entre qualquer uma das consultas unidas por meio de operadores SET, ela gerará um erro ORA.
17.What is true about the queries that have SET operators in their WHERE clause?
- Essas consultas devem ter o mesmo não. e tipo de dados de colunas em sua cláusula SELECT.
- O não. de colunas usadas na consulta da cláusula WHERE e no SELECT principal podem ser diferentes
- O não. de colunas usadas na cláusula WHERE devem ser as mesmas, o tipo de dados pode ser diferente
- Nenhuma das acima
Answer: A. Todos os combinados devem ter o mesmo não. de colunas ao usar operadores SET. As colunas correspondentes nas consultas que constituem uma consulta composta devem ser do mesmo grupo de tipo de dados.
18.What is true about the columns in the second query with respect to the columns in the first query?
- A coluna na 2ª consulta deve estar no mesmo grupo de tipo de dados que a coluna correspondente na 1ª consulta
- Se uma coluna na 1ª consulta for um NUMBER, a coluna correspondente na 2ª consulta deve ser um VARCHAR2
- Se uma coluna na 1ª consulta for um NÚMERO, a coluna correspondente na 2ª consulta também deve ser NÚMERO.
- Nenhuma das acima
Answer: A, C.
19.What among the following is true about SET operators?
- Operadores SET não podem ser usados em subconsultas
- Operadores SET só podem ser usados na cláusula WHERE
- ORDER BY pode ser usado para todas as consultas combinadas por um operador SET
- Operadores SET podem ser usados em sub-consultas
Answer: D.
20.What is the best way to change the precedence of SET operators given the fact that they have equal precedence?
- A ordem de uso dos operadores SET pode ser alterada para alterar a precedência
- A precedência igual não pode ser alterada
- O parêntese pode ser usado para alterar a precedência
- Nenhuma das acima
Answer: C. Os parênteses podem ser usados para agrupar as consultas específicas a fim de alterar a precedência explicitamente. Os parênteses são preferidos a outros operadores SET durante a execução.
21.What can be said about duplicate values and SET operators?
- Nenhum operador SET exibe valores duplicados
- Todos os operadores SET podem exibir valores duplicados
- Apenas o operador UNION ALL exibe valores duplicados
- Nenhuma das acima
Answer: C. UNION, INTERSECT e MINUS eliminam automaticamente valores duplicados
Examine the structure of the EMPLOYEES and DEPARTMENTS tables and consider the following query and answer the questions 22 and 23.
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SQL> DESC departments
Name Null? Type
----------------------- -------- ----------------
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
SELECT department_id
FROM employees e
UNION
SELECT department_id
FROM departments
22.What will be displayed in the result of this query?
- Ele exibirá id (s) de departamento distinto (s) contidos em conjunto na tabela EMPLOYEES e DEPARTMENTS
- Vai lançar o erro ORA
- Nenhuma linha selecionada
- Nenhuma das acima
Answer: A. UNION Retorna as linhas combinadas de duas consultas, classificando-as e removendo duplicatas.
23.What is true about the query given above?
- Esta consulta retorna um erro ORA
- É executado com sucesso, mas não dá resultados
- Consultas de tabelas diferentes não podem ser usadas com os operadores SET
- A consulta é executada com sucesso e fornece os resultados esperados
Answer: D. Uma consulta composta é aquela feita de várias consultas usando tabelas diferentes.
24.What is the default sorting order of the results when UNION ALL operator is used?
- Descending
- Ascending
- Ou a ou B
- Tudo acima
Answer: B. Uma consulta composta retornará, por padrão, as linhas classificadas em todas as colunas, da esquerda para a direita em ordem crescente. A única exceção é UNION ALL, em que as linhas não serão classificadas. O único lugar onde uma cláusula ORDER BY é permitida é no final da consulta composta.
25.What will be the output of the compound query in which columns in the SELECT are of CHAR and equal length?
- A saída terá tipo de dados VARCHAR2 de comprimento igual
- A saída terá tipo de dados CHAR de igual comprimento
- A saída terá tipo de dados CHAR de comprimentos diferentes
- A saída terá NUMBER tipo de dados de igual comprimento
Answer: B. As colunas nas consultas que constituem uma consulta composta podem ter nomes diferentes, mas o conjunto de resultados de saída usará os nomes das colunas na primeira consulta. As colunas correspondentes nas consultas que constituem uma consulta composta devem ser do mesmo grupo de tipo de dados.
26.What will be the output of the compound query in which columns in the SELECT are of CHAR and different lengths?
- A saída terá tipo de dados VARCHAR2 de comprimento igual
- A saída terá tipo de dados CHAR de igual comprimento
- A saída terá tipo de dados CHAR de comprimentos diferentes
- A saída terá o tipo de dados VARCHAR2 com o comprimento do maior valor CHAR
Answer: D. Embora as listas de colunas selecionadas não precisem ser exatamente do mesmo tipo de dados, elas devem ser do mesmo grupo de tipos de dados. O conjunto de resultados da consulta composta terá colunas com o maior nível de precisão.
27.What will be the output of a compound query if either or both queries select values of VARCHAR2?
- A saída terá o tipo de dados VARCHAR2.
- A saída terá tipo de dados CHAR de igual comprimento
- A saída terá tipo de dados CHAR de comprimentos diferentes
- A saída terá o tipo de dados VARCHAR2 com o comprimento do maior valor CHAR
Answer: A. Embora as listas de colunas selecionadas não precisem ser exatamente do mesmo tipo de dados, elas devem ser do mesmo grupo de tipos de dados. O conjunto de resultados da consulta composta terá colunas com o maior nível de precisão.
28.What is true if the compound queries select numeric data?
- Haverá uma precedência igual dos valores numéricos, operadores
- Os valores de retorno serão determinados pela precedência numérica
- Os valores de retorno serão do tipo de dados NUMBER
- Nenhuma das acima
Answer: B, C. Embora as listas de colunas selecionadas não precisem ser exatamente do mesmo tipo de dados, elas devem ser do mesmo grupo de tipos de dados. O conjunto de resultados da consulta composta terá colunas com o maior nível de precisão.
29.What will happen if the SELECT list of the compound queries returns both a VARCHAR2 and a NUMBER data type result?
- O Oracle irá convertê-los implicitamente e retornar um resultado do tipo de dados VARCHAR2
- O Oracle irá convertê-los implicitamente e retornar um resultado de tipo de dados NUMBER
- Um erro ORA é lançado
- Nenhuma das acima
Answer: C. O Oracle não converte tipos de dados implicitamente.
30.What is true about the UNION operator?
- Elimina os valores duplicados, ignorando os valores NULL
- Ele retorna valores duplicados, ignorando os valores NULL
- Ele retorna valores duplicados, incluindo valores NULL
- Elimina valores duplicados e não ignora valores NULL
Answer: D. Valores NULL não são ignorados quando o operador UNION é usado
31.What can be said about the names and columns of a SQL query which uses the UNION operator?
- Os nomes das colunas devem ser idênticos
- Os nomes e tipos de dados das colunas devem ser idênticos
- Os nomes das colunas não precisam ser idênticos
- Nenhuma das acima
Answer: C. As colunas nas consultas que constituem uma consulta composta podem ter nomes diferentes, mas o conjunto de resultados de saída usará os nomes das colunas na primeira consulta.
Consider the following exhibit of the JOB_HISTORY table and the query that follows. Answer the questions 32 and 33 below the query.
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id , first_name, last_name, job_id
FROM employees E
UNION
SELECT employee_id , first_name, last_name, job_id
From job_history;
32.How many times the each employee will get displayed by the above query?
- 0
- 1
- 2
- 4
Answer: B. UNION Retorna as linhas combinadas de duas consultas, classificando-as e removendo duplicatas.
33.What will be the outcome of the above query?
- Ele exibe os detalhes do trabalho atual e anterior dos funcionários duas vezes
- Ele exibe os detalhes do trabalho atual e anterior dos funcionários apenas uma vez
- Ou a ou B
- Nenhuma das acima
Answer: B.
Examine the given table structures and consider the following query and answer the questions 34 to 37 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id , job_id, department_id
FROM employees
UNION
SELECT employee_id , job_id, department_id
From job_history;
34.Assuming that an employee with ID 121 has held 2 job IDs in his tenure in the company. Considering the above query, how many times will his records be displayed in the results?
- Once
- Twice
- Thrice
- Nenhuma das acima
Answer: B. UNION Retorna as linhas combinadas de duas consultas, classificando-as e removendo duplicatas. A duplicidade é medida pela combinação de colunas e não pela coluna individual separadamente.
35.Assuming that the employee with ID 121 held two positions in two different departments - 10 and 20 in the company.He worked as 'SA_REP' in both the departments 10 and 20. What will be the outcome of the above query ?
- 2 filas
- 3 linhas
- Sem linhas
- Erro ORA
Answer: B.
36.Which statements best describes the inference drawn from the questions 34 and 35?
- Existem valores duplicados para códigos de trabalho
- A consulta é executada, mas os resultados produzidos são inesperados
- Não há valores duplicados para departamentos
- Nenhuma das acima
Answer: C. Como a combinação dos códigos de trabalho e departamentos é única, não há duplicações obtidas.
37.What will be the sorting in the result set obtained by the query?
- Decrescente no ID do funcionário
- Decrescente no ID do trabalho
- Crescente no ID do funcionário
- Crescente no ID do Departamento
Answer: C. A classificação padrão será crescente com base na primeira coluna, ou seja: ID do funcionário neste caso. No entanto, esse comportamento pode ser modificado colocando uma única cláusula ORDER BY no final.
38.Which of the following operators will be used to obtain duplicate records from the component queries?
- UNION
- UNION ALL
- MINUS
- Nenhuma das acima
Answer: B. UNION ALL não elimina os valores duplicados.
39.What is the difference between the UNION and the UNION ALL operators?
- Não há diferença
- UNION ALL exibe valores duplicados também
- A saída no caso de UNION ALL não é classificada por padrão
- Nenhuma das acima
Answer: B, C. Quando usado com duas instruções SELECT, o operador do conjunto UNION retorna os resultados de ambas as consultas. No entanto, se houver duplicatas, elas serão removidas e o registro duplicado será listado apenas uma vez. Para incluir duplicatas nos resultados, use o operador de conjunto UNION ALL
40.What is true about the INTERSECT operator?
- O número de colunas e os tipos de dados das colunas nas consultas de componentes devem ser os mesmos
- Os nomes das colunas e os tipos de dados das colunas nas consultas de componentes devem ser os mesmos
- Ambos a e B
- Nenhuma das acima
Answer: A. Este é um recurso de critério de propriedade comum dos operadores SET.
41.What can be said about the result set if the order of the intersected tables is altered when using INTERSECT?
- O resultado é alterado
- O resultado continua o mesmo
- A classificação muda na alteração
- Nenhuma das acima
Answer: B.
42.What among the following is true about the INTERSECT operator?
- Ele ignora valores NULL
- Não ignora valores NULL
- Ele retorna todas as linhas da primeira consulta de componente
- Nenhuma das acima
Answer: B.
Answer the related questions 43 and 44 given below.
43.You need to display the names and job IDs of those employees who currently have a job title that is the same as their previous one. Which of the following queries will work? (Consider the table structures as given)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id , job_id, first_name, last_name FROM employees UNION SELECT employee_id , job_id, first_name, last_name FROM job_history;
SELECT employee_id , job_id, first_name, last_name FROM employees INTERSECT SELECT employee_id , job_id, first_name, last_name FROM job_history;
SELECT employee_id , job_id, first_name, last_name FROM employees UNION ALL SELECT employee_id , job_id, first_name, last_name FROM job_history;
- Nenhuma das acima
Answer: B.
44.Considering the above query i.e. Option B in question 43, what will be the result if the department ID is also included in the SELECT clause?
- O resultado será o mesmo
- O resultado será diferente
- O resultado será o mesmo, mas a ordem será diferente
- Nenhuma das acima
Answer: A. O resultado pode ser interpretado como - os funcionários que trabalharam com o mesmo cargo no mesmo departamento.
45.What is true about the MINUS operator?
- Ele retorna todas as linhas de todas as consultas de componentes
- Ele retorna apenas as linhas comuns de todas as consultas de componentes
- Ele retorna todas as linhas da primeira consulta e não das consultas subsequentes
- Ele retorna todas as linhas distintas selecionadas pela primeira consulta, mas não presentes nas consultas subsequentes
Answer: D. O operador de definição MINUS remove os resultados da segunda consulta da saída se eles também forem encontrados nos resultados da primeira consulta
46.What can be said regarding the number of columns and data types of the component queries when a MINUS operator is used?
- Eles devem ser os mesmos, o tipo de dados pode ser diferente, mas eles devem pertencer ao mesmo grupo de tipo de dados.
- Eles devem ser os mesmos junto com os nomes das colunas
- Ambos a e B
- Nenhuma das acima
Answer: A. Característica comum dos operadores SET.
47.You need to display the employee IDs of the employees who have not changed their jobs even once during tenure in the company. Which of the following queries will be correct in this case? (Consider the table structures as given)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id FROM employees UNION SELECT employee_id FROM job_history;
SELECT employee_id FROM employees INTERSECT Select employee_id FROM job_history;
SELECT employee_id FROM employees MINUS Select employee_id FROM job_history;
SELECT employee_id FROM employees UNION ALL SELECT employee_id FROM job_history;
Answer: C.
Examine the given table structures and consider the following query answer the questions 48 and 49 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id , first_name, job_id
FROM employees
UNION
SELECT employee_id , NULL "first_name", job_id
FROM job_history;
48.What is true about the above query?
- Ele gera um erro, pois TO_CHAR (NULL) não pode ser usado
- Ele é executado com sucesso e fornece os valores para id de funcionários, first_name e função de trabalho atual, incluindo linhas duplicadas
- Ele é executado com sucesso e fornece os valores para o id dos funcionários, first_name e todos os cargos mantidos pelos funcionários, excluindo linhas duplicadas
- Nenhuma das acima
Answer: C. Cada consulta deve conter o mesmo número de colunas, que são comparadas posicionalmente. NULL pode ser substituído no lugar da coluna que está faltando na outra consulta dentro da mesma consulta composta.
49.Considering the above query, if the UNION operator is replaced by the MINUS operator, what will the result mean?
- O resultado mostra os funcionários que têm uma entrada na tabela JOB_HISTORY
- O resultado mostra os funcionários que não possuem uma entrada no JOB_HISTORY, mas estão presentes na tabela EMPLOYEES
- Qualquer um de A ou B
- Nenhuma das acima
Answer: B. MINUS fornece os resultados exclusivos que estão presentes na primeira consulta, mas não na segunda consulta.
Consider the exhibit given below and answer the questions 50 and 51 that follow:
50.What will be the outcome of the following query?
SELECT AU_DETAILS
FROM AUDIT
UNION
SELECT AU_DETAILS
FROM AUDIT_YEARLY;
- É executado com sucesso, fornecendo os resultados corretos, incluindo os valores duplicados
- É executado com sucesso dando os resultados corretos, excluindo os valores duplicados
- Ele lança um erro ORA
- Nenhuma das acima
Answer: C. As colunas CLOB ou LONG não podem estar na cláusula SELECT ao usar os operadores do conjunto UNION.
51.What will be the outcome of the query if UNION is replaced with UNION ALL?
- Ele será executado com sucesso, fornecendo os resultados corretos, incluindo valores duplicados
- Ele lança um erro ORA
- Ele será executado com sucesso, fornecendo os resultados corretos, excluindo valores duplicados
- Ele é executado com êxito, mas fornece resultados incorretos.
Answer: B. Os operadores .UNION, UNION ALL, INTERSECT e MINUS quando usados com uma coluna LONG ou CLOB geram erro.
52.Assume that there are 4 component queries. How many SET operators can be used to combine them in a single compound query?
- 1
- 2
- 4
- 3
Answer: D. O operador SET a ser usado será N-1, onde N é o número de consultas de componentes.
53.What are SET operators called owning to the fact that two or more SELECTs are involved based on columns instead of rows when SET operators are used?
- Junções horizontais
- Junções cartesianas
- Junções verticais
- Junções externas
Answer: C.
54.What is the difference between a UNION and INTERSECT operators? (Choose only the best difference)
- UNION combina os resultados de duas consultas de componentes em um conjunto de resultados com valores duplicados
- INTERSECT retorna apenas as linhas que são retornadas por cada uma das duas consultas de componentes
- UNION fornece os valores distintos das consultas do componente, INTERSECT fornece os valores comuns das consultas do componente
- B e C
Answer: C.
Examine the structure of the EMPLOYEES table and consider the following query. Answer the questions 55 to 60 that follow.
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
Query 1
SELECT *
FROM EMPLOYEES
where department_id = 10
Query 2
SELECT *
FROM EMPLOYEES E
where E.job_id IN (select first_name from EMPLOYEES E1 where E1.job_id = 'CLERK' and E.job_id = E1.job_id )
55.You need to extract a report where the results from both the queries are displayed. Which of the following operators should be used to get the required results?
- UNION
- UNION ALL
- INTERSECT
- Nenhuma das acima
Answer: B. UNION ALL Retorna as linhas combinadas de duas consultas sem classificar ou remover duplicatas.
56.You need to display all the duplicate values along with all the values existing in the result set from both the queries. Which of the following SET operators you can use in the above given queries?
- INTERSECT
- UNION
- MINUS
- Nenhuma das acima
Answer: D. UNION ALL dará os resultados não classificados com duplicatas.
57.What is the difference between the result sets when using a UNION and a UNION ALL set operators?
- O conjunto de resultados de UNION ALL é filtrado incluindo valores duplicados
- O conjunto de resultados de UNION é filtrado e classificado, incluindo valores duplicados
- O conjunto de resultados de UNION ALL não está classificado e possui valores duplicados
- O conjunto de resultados de UNION é filtrado e classificado sem valores duplicados
Answer: C, D.
58.The UNION operator has more overhead on the database than the UNION ALL. What is wrong in this statement?
- A afirmação está correta
- O operador UNION ALL tem mais sobrecarga na base de dados do que o operador UNION
- UNION tem que classificar e eliminar duplicatas que resultam em sobrecarga adicional
- Nenhuma das acima
Answer: A, C. UNION precisa realizar mais tarefas do que UNION ALL porque classifica e desduplica os conjuntos de resultados. Portanto, é recomendado que, a menos que linhas distintas sejam necessárias, UNION ALL seja usado.
59.What will be the outcome if the two queries given above are combined using the INTERSECT operator?
- Ele exibirá apenas os funcionários que são Escriturários do Departamento 10
- Ele exibirá todos os funcionários que estão no departamento 10
- Ele exibirá todos os funcionários.
- Nenhuma das acima
Answer: A. INTERSECT retorna os registros que estão presentes na consulta 1 E na consulta 2.
60.What among the following is the difference between the INTERSECT and the UNION operators?
- INTERSECT segue a lógica booleana 'AND', UNION segue a lógica booleana 'OR'
- UNION segue a lógica booleana 'OR', enquanto INTERSECT segue a lógica 'AND'
- Qualquer um de A ou B
- Nenhuma das acima
Answer: A.
61.In which of the following SET operators, changing the order of the component queries will change the result set?
- UNION
- UNION ALL
- MINUS
- INTERSECT
Answer: C. MINUS Retorna apenas as linhas no primeiro conjunto de resultados que não aparecem no segundo conjunto de resultados, classificando-as e removendo duplicatas.
Consider the following query and answer the questions 62 to 66 that follow:
SELECT 4 from dual
INTERSECT
SELECT 1 from dual;
62.What will be the outcome of the given query?
- Sem linhas
- 4
- 1
- NULL
Answer: A. Nenhuma linha será selecionada, pois o operador INTERSECT não obterá resultados comuns de ambas as consultas - os operadores INTERSECT fornecem resultados comuns presentes na consulta 1 E na consulta 2.
63.What will be the outcome of the query if the INTERSECT operator is replaced with MINUS operator?
- 3
- 4
- 0
- 1
Answer: B. MINUS fornece resultados que estão presentes na primeira consulta e não na segunda.
64.What will be the outcome of the above query if the INTERSECT operator is replaced with the UNION operator?
- 1
4
- 4
1
- NULL
- 0
Answer: A. UNION produzirá linhas distintas no conjunto de resultados em ordem crescente.
65.What will be the outcome of the above query if the INTERSECT operator is replaced with the UNION ALL operator?
- 4
1
- 0
- NULL
- 1
4
Answer: A. UNION ALL exibe os resultados conforme eles são posicionados na consulta, sem classificá-los.
66.What will be the outcome if the above query is modified as below?
SELECT 1 from dual
UNION ALL
SELECT 4 from dual;
- 1
4
- 4
1
- NULL
- Nenhuma das acima
Answer: A.
Examine the JOB_HISTORY_ARCHIVE table structure. It is a backup table for the JOB_HISTORY table with no additional column. Assuming that both the table have dissimilar data, consider the query given below and answer the questions 67 to 70 that follow:
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
(SELECT * FROM job_history;
MINUS
SELECT * FROM job_history_archive)
UNION ALL
(SELECT * FROM job_history_archive
MINUS
SELECT * FROM job_history;);
67. What will be the outcome of the query given above? (Choose the best answer)
- Ele retornará as linhas que são diferentes nas duas tabelas
- Ele retornará as linhas comuns nas duas tabelas
- Irá devolver todas as linhas das duas tabelas
- Nenhuma das acima
Answer: A.
68.What can concluded if the above given query yields rows only from JOB_HISTORY table?
- Mostra que o JOB_HISTORY contém duas linhas diferentes da tabela JOB_HISTORY_ARCHIVE
- Mostra que duas linhas são iguais nas tabelas JOB_HISTORY e JOB_HISTORY_ARCHIVE
- Mostra que JOB_HISTORY_ARCHIVE contém duas linhas diferentes da tabela JOB_HISTORY
- Nenhuma das acima
Answer: A.
69.What can be said if the above query gives no results?
- Isso mostra que as duas tabelas têm os mesmos dados
- Mostra que as consultas do componente estão colocadas incorretamente
- Mostra que os operadores SET são usados incorretamente na consulta composta
- Nenhuma das acima
Answer: A.
70.With respect to the query given above, if duplicate records exist in the two tables, which of the following modifications should be made to the above given query?
- COUNT(*)
- COUNT (*) e GROUP BY funcionário_id
- COUNT (*) e ORDER BY employee_id
- Nenhuma das acima
Answer: B. COUNT (*) pode ser usado para ver a diferença entre as tabelas.
Consider the following query:
SELECT 1 NUM, 'employee' TEXT FROM dual
UNION
SELECT TO_CHAR(NULL) NUM, 'departments' TEXT FROM dual;
71.What will be the outcome of the query given above?
-
NUM TEXT ---------- ----------- 1 employee departments
-
NUM TEXT ---------- ----------- 1 employee NULL departments
- Erro ORA
-
NUM TEXT ---------- ----------- departments 1 employee
Answer: C. Aqui, o 1 numérico é comparado a um caractere NULL que gera o erro "ORA-01790: a expressão deve ter o mesmo tipo de dados da expressão correspondente".
Consider the following query and answer the questions 72 and 73 that follow:
SELECT months_between (sysdate, to_date('21-MAY-2013','DD-MON-YYYY')) FROM dual
UNION
SELECT TO_date(NULL) NUM FROM dual;
72.What will be the outcome of the query given above? (Assume that the SYSDATE is 1st July, 2013)
- É executado com sucesso com resultados corretos
- É executado com sucesso, mas sem resultados
- Ele lança um erro ORA
- Nenhuma das acima
Answer: C. NUMBER e DATE não pertencem ao mesmo tipo de dados falham. Aqui, um número obtido por MONTHS_BETWEEN é comparado com uma DATE e, portanto, o erro.
73.Assume that the SELECT statement in the 2nd query is modified as below:
SELECT to_number (NULL) NUM FROM dual;
Qual será o resultado por causa dessa mudança?
- É executado com sucesso com resultados corretos
- É executado com sucesso, mas sem resultados
- Ele lança um erro ORA
- Nenhuma das acima
Answer: A.
74.Examine the table structures and consider the following query:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id "Employee ID"
FROM employees
UNION
SELECT employee_id "EMP ID"
FROM job_history;
Qual dos títulos de coluna abaixo será exibido no conjunto de resultados?
- EMP ID
- ID do Empregado
- EMPLOYEE_ID
- Erro ORA porque os nomes das colunas devem ser os mesmos nas consultas do componente.
Answer: B. As colunas nas consultas que constituem uma consulta composta podem ter nomes diferentes, mas o conjunto de resultados de saída usará os nomes das colunas na primeira consulta.
Examine the two table structures given and consider the following query and answer the questions 75 and 76 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id
FROM employees e
UNION
SELECT employee_id
FROM job_history j
ORDER BY j.employee_id ;
75.What will be the outcome of the query given above?
- Os resultados serão ordenados pelo ID do funcionário da tabela JOB_HISTORY
- Os resultados serão ordenados pelo ID do funcionário da tabela EMPLOYEES
- Não haverá ordenação dos resultados
- Erro ORA
Answer: D. O ORDER BY deve ser feito com base nos nomes das colunas da primeira consulta e não das colunas da 2ª consulta.
76.Which of the following ORDER BY clauses can replace the erroneous ORDER BY in the query given above?
- ORDER BY e.employee_id
- ORDER BY j.2
- ORDENAR POR 1
- Nenhuma das opções acima, ORDER BY não é permitido na consulta
Answer: C. Esta é uma especificação mais genérica e o Oracle fará o pedido com base na primeira coluna da primeira consulta.
77.Consider the following exhibit and answer the question below:
SELECT au_doc
From audit
UNION
SELECT au_doc
From audit_yearly;
Qual será o resultado da consulta fornecida acima?
- Fornece os documentos de auditoria entre as duas tabelas
- Dá um erro ORA na execução
- Dá aos documentos de auditoria da tabela AUDIT
- Nenhuma das acima
Answer: B. As colunas LONG não podem ser usadas com operadores SET.
78.Consider the query given below:
SELECT col_1
From TABLE (package1.proc1)
UNION
SELECT col_1
From TABLE (package2.proc2);
Qual será o resultado da consulta dada acima?
- É executado com sucesso com duplicatas
- É executado com sucesso sem duplicatas
- Ele lança um erro ORA
- Nenhuma das acima
Answer: C. Expressões TABLE não podem ser usadas com operadores SET.
Examine the two table structures given and consider the following query. Answer the questions 79 and 80 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id , job_id
FROM employees E
UNION
SELECT employee_id , job_id
FROM job_history J
FOR UPDATE OF job_id;
79.What happens when the query is executed?
- Erro ORA
- Employee_id e job_id
- Employee_id
- Nenhuma das acima
Answer: A. A cláusula FOR UPDATE não pode ser usada com a consulta combinada com os operadores SET.
80.What will be the outcome of the following query?
SELECT * from employees
UNION
SELECT job_id FROM job_history;;
- Ele fornecerá todas as colunas das tabelas de funcionários e apenas a coluna job_id da tabela job_history
- Irá gerar um erro porque o número de colunas deve corresponder nas consultas do componente
- Nem B nem C
- Nenhuma das acima
Answer: B.
81.If UNION, UNION ALL, INTERSECT are used in one SQL statement which of the following is true regarding the SQL statement?
- UNION, UNION ALL serão executados primeiro e, em seguida, o conjunto de resultados irá para a instrução INTERSECT.
- A execução de INTERSECT precederá a execução de UNION e UNION ALL.
- A execução será feita da direita para a esquerda levando em consideração todos os operadores ao mesmo tempo.
- A execução será feita da esquerda para a direita levando em consideração todos os operadores ao mesmo tempo.
Answer: D.
82.Consider the query given below and answer the question that follow:
SELECT '3' FROM dual
INTERSECT
SELECT 3f FROM dual;
O que é verdade em relação à execução da consulta fornecida acima?
- Ele é executado com sucesso.
- Lança um erro
- Isso dá o resultado 3.
- Ele dá o resultado 3f
Answer: B. Literais de caracteres devem ser colocados entre aspas simples.
83.Which of the following is false for set operators used in SQL queries?
- Os operadores de conjunto são válidos quando usados em colunas com o tipo de dados LONG.
- Os operadores de conjunto não são válidos em colunas do tipo BLOB, CLOB, BFILE, VARRAY ou tabela aninhada.
- Para que a consulta selecionada contenha uma expressão, um alias de coluna deve ser fornecido para referenciá-la à cláusula order_by_clause.
- Você não pode usar esses operadores em instruções SELECT contendo expressões de coleção TABLE.
Answer: A. Os operadores SET não são compatíveis com os tipos de dados LONG, CLOB e BLOB.
84.Examine the given table structure and evaluate the following SQL statement:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id , last_name "Last Name"
FROM employees
WHERE department_id = 100
UNION
SELECT employee_id EMPLOYEE_NO, last_name
FROM employees
WHERE department_id = 101;
Quais cláusulas ORDER BY são válidas para a consulta acima? (Escolha todas as opções aplicáveis.)
- ORDENAR POR 2,1
- PEDIDO POR EMPLOYEE_NO
- ORDER BY 2, employee_id
- ORDENAR POR "EMPLOYEE_NO"
Answer: A, C. A cláusula ORDER BY deve fazer referência à coluna por sua posição ou pelo nome referido pela primeira consulta.
85.Which of the following clauses would you use to exclude the column from the 2nd query out of the two queries combined using SET operators?
- GRUPO POR
- ORDENAR POR
- MINUS
- UNION
Answer: C.
86.Examine the given table structure as given. What will be the outcome of the below query?
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT distinct department_id
FROM employees
WHERE salary > ANY (SELECT AVG (salary)
FROM employees
GROUP BY department_id )
UNION
SELECT *
FROM employees
WHERE salary > ANY (SELECT MAX (salary)
FROM employees
GROUP BY department_id );
- Irá exibir todos os IDs de departamento que têm os salários médios e os salários máximos
- Ele lançará um erro ORA como o não. de colunas selecionadas em ambas as consultas são diferentes
- Ele exibirá todos os IDs de departamento que têm salários médios
- Irá exibir todos os IDs de departamento que têm os salários máximos
Answer: B. O não. de colunas deve ser o mesmo.
87.What among the following is true about the UNION operator?
- UNION opera apenas na primeira coluna da lista SELECT
- UNION opera sobre as primeiras colunas das listas SELECT nas consultas de componentes
- UNION opera em todas as colunas que estão sendo selecionadas.
- Nenhuma das acima
Answer: C. UNION opera em todas as colunas na lista SELECT e não ignora nenhuma coluna.
88.You need to display the departments where the employees with the JOB IDs 'SA_REP' or 'ACCOUNTANT' work. Which of the following queries will fetch you the required results? (Consider the given table structure)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT department_id FROM employees E Where job_id = 'SA_RE' UNION SELECT department_id FROM employees E Where job_id = 'ACCOUNTANT';
SELECT department_id FROM employees E Where job_id = 'SA_REP' UNION ALL Select department_id FROM employees E Where job_id = 'ACCOUNTANT';
SELECT department_id FROM employees E Where job_id = 'SA_REP' INTERSECT Select department_id FROM employees E Where job_id = 'ACCOUNTANT';
SELECT department_id FROM employees E Where job_id = 'SA_REP' MINUS Select department_id FROM employees E Where job_id = 'ACCOUNTANT';
Answer: A.
89.Which of the following statement is true about the ordering of rows in a query which uses SET operator?
- Não é possível usar ORDER BY nas consultas individuais que fazem uma consulta composta.
- Uma cláusula ORDER BY pode ser anexada ao final de uma consulta composta.
- As linhas retornadas por um UNION ALL estarão na ordem em que ocorrem nas duas consultas de origem.
- As linhas retornadas por UNION serão classificadas em todas as suas colunas, da direita para a esquerda.
Answer: A, B, C.
90.The UNION operator was used to fulfill which of the following function before the ANSI SQL syntax in place?
- DIREITO OUTER JOIN
- LEFT OUTER JOIN
- EQUI-JOIN
- FULL OUTER JOIN
Answer: D.
Answer the related questions 91 and 92 given below. Consider the table structures as given here:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
91.You need to find the job IDs which do not have any JOB history logged for them. Which of the following queries will work? (Consider the given table structures)
SELECT job_id FROM employees UNION ALL SELECT job_id FROM job_history;;
SELECT job_id FROM employees MINUS Select job_id FROM job_history;;
SELECT job_id FROM employees UNION SELECT job_id FROM job_history;;
- Nenhuma das acima
Answer: B.
92.Consider the following query:
SELECT distinct job_id
FROM employees
NATURAL JOIN job_history ;
Quais das seguintes consultas são idênticas à consulta acima?
SELECT job_id FROM employees UNION SELECT job_id FROM job_history;;
SELECT job_id FROM employees UNION ALL SELECT job_id FROM job_history;;
SELECT job_id FROM employees MINUS Select job_id FROM job_history;;
SELECT job_id FROM employees INTERSECT SELECT job_id FROM job_history;;
Answer: A.
Examine the table structures given here. Consider the query given below and answer the related questions 93 to 97 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT job_id
FROM employees
UNION ALL
SELECT job_id
FROM job_history;;
93.If the EMPLOYEES table contains 5 records and the JOB_HISTORY contains 3 records, how many records will be obtained from the below query?
- 4
- 3
- 0
- 8
Answer: D. UNION ALL Retorna as linhas combinadas de duas consultas sem classificar ou remover duplicatas.
94.If the UNION ALL operator is replaced with UNION operator, how many records will be obtained? (Assume there are 6 distinct values in both the tables)
- 5
- 3
- 2
- 6
Answer: D. UNION Retorna as linhas combinadas de duas consultas, classificando-as e removendo duplicatas.
95.If the UNION ALL operator is replaced with MINUS operator, how many records will be obtained? (Assume there are 3 distinct values in EMPLOYEES and 2 in JOB_HISTORY)
- 3
- 2
- 1
- 0
Answer: C. MINUS Retorna apenas as linhas no primeiro conjunto de resultados que não aparecem no segundo conjunto de resultados, classificando-as e removendo duplicatas.
96.If the UNION ALL operator is replaced with INTERSECT operator, how many records will be obtained? (Assume there are 3 values common between the two tables)
- 8
- 6
- 3
- 2
Answer: C. INTERSECT Retorna apenas as linhas que ocorrem nos conjuntos de resultados de ambas as consultas, classificando-as e removendo duplicatas.
97.Consider the following query:
1.select job_id
2. from employees
3.ORDER BY department_id
4.UNION ALL
5.select job_id
6.FROM job_history;
7.ORDER BY department_id ;
A consulta acima gera um erro. Qual linha na consulta acima gera um erro?
- 3
- 7
- 2
- Nenhum erro é obtido
Answer: A. ORDER BY só deve aparecer no final da consulta composta e não nas consultas de componente.
98.Which of the following SET operator features are supported in SQL/Foundation:2003 but not by Oracle?
- UNION ALL
- MENOS TODOS
- INTERSECTAR TODOS
- EXCETO TODOS
Answer: B, C, D.
99.You need to find out the common JOB IDs (excluding duplicates) in the departments 100 and 200. Which query will you fire to get the required results? (Consider the table structure as given)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SELECT job_id from employee WHERE department_id = 100 INTERSECT SELECT job_id from employee WHERE department_id = 200;
SELECT job_id from employee WHERE department_id = 100 UNION ALL SELECT job_id from employee WHERE department_id = 200;
SELECT job_id from employee WHERE department_id = 100 MINUS Select job_id from employee WHERE department_id = 200;
SELECT job_id from employee WHERE department_id = 100 INTERSECT ALL Select job_id from employee WHERE department_id = 200;
Answer: A.
100.If a compound query contains both a MINUS and an INTERSECT operator, which will be applied first? (Choose the best answer.)
- O INTERSECT, porque INTERSECT tem precedência mais alta do que MINUS.
- O MENOS, porque MENOS tem uma precedência mais alta do que INTERSECT.
- A precedência é determinada pela ordem em que são especificados.
- Não é possível que uma consulta composta inclua MINUS e INTERSECT.
Answer: C. Todos os operadores de conjunto têm precedência igual, portanto, a precedência é determinada pela sequência em que ocorrem.