Dapatkan Data dari Beberapa Tabel Pertanyaan
1.Which of the following is not related to a Relational Database?
- Selection
- Projection
- Joining
- Bukan dari salah satu di atas
Answer: D. Opsi A, B dan C adalah kapabilitas utama dari Oracle Relational Database.
2.Which of the following methods is used for writing a query with columns from multiple tables?
- SELECT
- GRUP OLEH
- DIPESAN OLEH
- JOINS
Answer: D. Gabungan digunakan untuk menghubungkan beberapa tabel dan data kolom proyek dari beberapa tabel di Oracle.
3.Which of the following is one of the most common methods to join multiple tables?
- Hash Bergabung
- Equijoin
- Bergabung Sendiri
- Gabung Silang
Answer: B. Equijoin adalah salah satu jenis penggabungan yang merupakan teknik paling umum dan sederhana untuk menggabungkan lebih dari satu tabel. Equijoins juga disebut simple joins atau inner joins. Equijoin melibatkan primary key dan foreign key.
4.Which of following will be used to join rows with other tables if the column values fall in a range defined by inequality operators?
- Equijoin
- Bergabung sederhana
- Non-equijoin
- Bukan dari salah satu di atas
Answer: C. Equijoins menggunakan operator kesetaraan untuk menggabungkan baris, non-equijoin menggunakan operator ketidaksetaraan.
5.Which of the following statements is true about Oracle joins?
- Nilai NULL disertakan dalam set hasil
- Hanya baris dengan kondisi yang cocok yang diambil
- Semua baris yang ada di salah satu tabel akan diambil
- Bukan dari salah satu di atas
Answer: B. Nilai NULL dan entri yang berbeda dalam kolom gabungan umum dikecualikan saat gabungan digunakan.
6.Which of the following can be used to join the rows of a table with other rows of the same table?
- Equijoin
- Non-equijoin
- Gabungan luar
- Self-join
Answer: D. Pengaitan didasarkan pada kolom dengan hubungan logis dan biasanya hierarkis satu sama lain.
7.What is true about a cartesian join of two tables in Oracle DB?
- Ini harus dihindari karena mahal dan tidak dioptimalkan
- Ini terbentuk ketika setiap baris dari satu tabel digabungkan dengan semua baris di tabel kedua
- Baik A dan B
- Bukan dari salah satu di atas
Answer: B. Gabungan kartesius sering kali merupakan hasil dari kondisi gabungan yang hilang atau tidak memadai, yang merupakan hasil perkalian silang dari dua tabel.
8.Which of the following is one of the basic types of joins in Oracle DB ?
- Gabungan luar
- Self-join
- Equi-join
- Semua yang di atas
Answer: C. Equi-join dan non-equijoin adalah dua tipe dasar gabungan di Oracle DB.
9.What is the main condition for using joins between a source table and a target table in Oracle DB for getting a non-cartesian product result?
- Tidak ada syarat
- Setidaknya satu kolom di kedua tabel harus sama.
- Nama-nama kolom di kedua tabel penggabungan harus sama untuk menggunakan gabungan
- Bukan dari salah satu di atas
Answer: B. Tabel-tabel tersebut harus dihubungkan melalui kolom umum yang menghubungkan dua entitas. Tabel yang digabungkan pada kolom umum menghasilkan produk non Kartesius.
10. Which of the following can be used to fetch rows from multiple tables in a single SQL query?
- SELECT
- WHERE
- FROM
- Equi-joins
Answer: D. Equijoins juga disebut simple joins atau inner joins. Equijoin melibatkan kunci utama dan kunci asing.
11.What is true about the source table and the target table in terms of Oracle Joins?
- Mereka harus memiliki setidaknya satu kolom dengan nama yang sama
- Semua kolom harus memiliki nama yang sama dan tipe data yang sama untuk menggabungkan dua tabel
- Tabel sumber dan target tidak dapat ditukar dan posisinya spesifik
- Bukan dari salah satu di atas
Answer: D. Tabel sumber dan target dapat ditukar dan tidak ditetapkan pada posisinya, tergantung dari jenis gabungan yang digunakan dalam kueri, hasilnya mungkin berbeda atau tetap sama.
12.What is true about Natural joins in Oracle DB?
- Nama kolom sumber dan tabel target harus identik
- Jika nama kolom sumber dan tabel target tidak sama, Oracle secara implisit melakukan hal yang diperlukan
- NATURAL JOINS, USING dan ON adalah kata kunci yang terkait dengan Natural Joins
- Semua yang di atas
Answer: C. Kata kunci NATURAL JOIN memerintahkan Oracle untuk mengidentifikasi kolom dengan nama identik antara tabel sumber dan target. Gabungan natural menggunakan semua kolom dengan nama dan tipe data yang cocok untuk menggabungkan tabel. Klausa USING dapat digunakan untuk menentukan hanya kolom-kolom yang harus digunakan untuk sebuah equijoin.
13.Assume the tables EMPLOYEES and DEPARTMENT have to be joined using NATURAL JOIN. What is the difference between the following two queries which follow? (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 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 NATURAL JOIN department
WHERE first_name = 'John'
AND last_name = 'Bacon';
SELECT department_id
FROM department NATURAL JOIN employees
WHERE first_name = 'John'
AND last_name = 'Bacon';
- Tidak ada perbedaan
- Hasilnya berbeda dalam kedua kasus tersebut
- Kedua kueri tersebut akan memberikan kesalahan ORA saat eksekusi
- Bukan dari salah satu di atas
Answer: B. Tabel sumber dan target dapat ditukar saat menggunakan NATURAL JOIN yang memberikan kumpulan hasil yang berbeda secara relasional.
14.Which of the following options is true regarding the NATURAL JOIN in Oracle DB?
- Saat menggunakan NATURAL JOIN menyebutkan nama semua kolom dari kedua tabel adalah wajib
- NATURAL JOIN hanya dapat digunakan jika nama semua kolom dari kedua tabel identik
- Gabungan dalam NATURAL JOIN hanya terjadi ketika pengguna menentukan kolom sumber dan tabel target.
- Tidak perlu menyebutkan kolom saat menggunakan NATURAL JOINS.
Answer: D. Ada gabungan implisit dari kolom dari tabel sumber dan target saat NATURAL JOIN digunakan. NATURAL JOIN adalah operasi GABUNG yang membuat klausa gabungan implisit untuk Anda berdasarkan kolom umum di dua tabel yang digabungkan. Kolom umum adalah kolom yang memiliki nama yang sama di kedua tabel.
15. What is the difference between a NATURAL JOIN and a join with JOIN..ON?
- Tidak ada perbedaan antara keduanya
- JOIN..ON menggabungkan tabel sumber dan target pada kolom tertentu dengan nama yang sama
- NATURAL JOIN secara implisit menggabungkan semua kolom yang cocok dari tabel sumber dan target
- Bukan dari salah satu di atas
Answer: B, C. Kondisi join untuk natural join pada dasarnya adalah equijoin dari semua kolom dengan nama yang sama Gunakan klausa ON untuk menentukan kondisi arbitrer atau tentukan kolom yang akan digabungkan Kondisi join dipisahkan dari kondisi pencarian lainnya. Klausa ON membuat kode mudah dipahami.
16.What is true about the JOIN..ON clause in Oracle DB?
- Ini tidak bergantung pada kolom dalam tabel sumber dan target yang memiliki nama identik
- Hanya kolom dari tabel sumber dan target yang memiliki nama identik yang dapat digunakan dengan klausa ini
- Ini adalah format NATURAL JOIN
- Semua yang di atas
Answer: A, C. Kondisi join untuk natural join pada dasarnya adalah equijoin dari semua kolom dengan nama yang sama. Gunakan klausa ON untuk menentukan kondisi arbitrer atau tentukan kolom yang akan digabungkan. Kondisi bergabung dipisahkan dari kondisi pencarian lainnya. Klausa ON membuat kode mudah dipahami.
17. The database designer has named the key (unique) columns from two tables differently.While joining these tables, which among the following will be the best practice?
- JOIN..ON
- Baik ALAMI BERGABUNG atau BERGABUNG ... PADA klausul
- Baik A dan B
- Bukan dari salah satu di atas
Answer: A. Menggunakan NATURAL JOINS dalam hal ini dapat menghasilkan hasil yang tidak diharapkan karena terdapat pencarian implisit dari kolom dengan nama identik yang dalam hal ini tidak ada.
18.What of the following can be used to fetch non-matching rows along with the matching rows between a source and a target table in Oracle DB?
- EQUI-JOIN
- SELF-JOIN
- BERGABUNG ALAM
- OUTER-JOIN
Answer: D. Gabungan luar dibuat saat rekaman perlu disertakan dalam hasil tanpa memiliki rekaman terkait dalam tabel gabungan. Catatan ini dicocokkan dengan catatan NULL sehingga mereka termasuk dalam keluaran.
19. What are Cartesian Joins also known as in Oracle DB?
- Equi-join
- Anti-join
- Cross-Join
- Bukan dari salah satu di atas
Answer: C. Gabungan Kartesius antara dua tabel mengembalikan setiap kemungkinan kombinasi baris dari tabel. Gabungan Cartesian dapat dibuat dengan tidak menyertakan operasi gabungan dalam kueri atau dengan menggunakan CROSS JOIN.
20.What will be the result of a NATURAL JOIN between two tables EMPLOYEES and DEPARTMENT as given in the query below? (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 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 * FROM employees NATURAL JOIN department;
- Kolom umum DEPARTMENT_ID dengan nama identik di kedua tabel akan muncul dua kali di set hasil
- Semua kolom yang memiliki nama identik yang digabungkan dengan NATURAL JOIN, akan muncul dua kali di set hasil
- Kumpulan hasil hanya akan memiliki satu kolom untuk setiap pasangan kolom dengan nama yang sama dari kedua tabel
- Bukan dari salah satu di atas
Answer: C. Kata kunci NATURAL JOIN tidak memerlukan kondisi untuk menetapkan hubungan antara dua tabel. Namun, kolom yang sama harus ada. Kualifikasi kolom tidak dapat digunakan dengan kata kunci NATURAL JOIN.
21.What is the difference between a NATURAL JOIN and an EQUI-JOIN in Oracle DB?
- Tidak ada perbedaan
- Mereka sama sehubungan dengan set hasil yang diperoleh dari keduanya
- Baik A dan B
- Bukan dari salah satu di atas
Answer: D. NATURAL JOIN menggabungkan semua kolom dengan nama yang identik sedangkan EQUI-JOIN mengharuskan kolom disebutkan secara eksplisit dalam kueri SQL.
22.What is an INNER JOIN in Oracle DB?
- Gabungan yang memberikan rekaman yang cocok antara dua tabel disebut INNER JOIN
- Gabungan dalam dapat menggunakan operator seperti <,>, <>
- Baik A dan B
- Bukan dari salah satu di atas
Answer: C. Gabungan bisa menjadi gabungan dalam, di mana hanya rekaman yang dikembalikan memiliki rekaman yang cocok di semua tabel, atau gabungan luar, di mana rekaman bisa dikembalikan terlepas dari apakah ada rekaman yang cocok dalam gabungan.
23.What is the difference between a INNER JOIN and an EQUI-JOIN in Oracle DB?
- Mereka sama dalam hal sintaks dan kumpulan hasil yang diperoleh.
- Sebuah INNER JOIN adalah bagian dari EQUI-JOIN
- INNER JOIN dapat menggunakan operator seperti <,>, <> bersama dengan "=" sementara EQUI-JOIN hanya menggunakan operator "="
- Semua yang di atas
Answer: C. EQUI-JOIN adalah jenis INNER JOIN yang berisi operator "=" dalam kondisi gabungan, sedangkan INNER JOIN dapat berisi operator yang sama dan tidak sama
24.What is true about NATURAL JOINS in terms of ANSI SQL: 1999 syntaxes in Oracle DB?
- Operator Kesetaraan (=) digunakan
- Mereka mengambil hasil yang berbeda jika dibandingkan dengan sintaks tradisional
- Sintaks SQL ANSI menggunakan kata-kata seperti NATURAL JOIN dalam kueri SQL
- Bukan dari salah satu di atas.
Answer: C. Sintaks SQL ANSI berbeda dari cara tradisional menggunakan (=) dengan cara tradisional. Ada kata kunci seperti NATURAL JOIN dll. Dalam sintaks SQL ANSI untuk membedakan gabungan yang digunakan.
25.What of the following is true with respect to the query given below? (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 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 first_name, salary
FROM employees e, departments d
WHERE e.department_id (+) = d.department_id ;
- Ada gabungan luar antara department_id dari kedua tabel yang setara dengan gabungan Luar Kanan di ANSI SQL
- Ada gabungan luar antara department_id dari kedua tabel yang setara dengan gabungan Luar Kiri di ANSI SQL
- Itu mengambil semua catatan department_id dari tabel karyawan apakah mereka cocok atau tidak
- Itu mengambil semua catatan department_id dari tabel departemen apakah mereka cocok atau tidak
Answer: A, D. Kondisi e.department_id (+) = d.department_id berarti akan melakukan Right Outer Join dan semua department_id dari tabel departemen akan ditampilkan apakah cocok atau tidak
26.Which of the following syntax models is used in extensively in the software systems worldwide?
- ANSI SQL: 1999
- Baik sintaks Oracle tradisional maupun sintaks ANSI SQL: 1999
- Sintaks Oracle tradisional
- Semua opsi
Answer: C. Sintaks ANSI SQL: 1999 meskipun tidak digunakan sebanyak sintaks Oracle tradisional, itu masih merupakan salah satu sintaks yang dapat digunakan dalam Oracle SQL
27.What of the following is true regarding the Cartesian product in Oracle DB?
- Jika 'N' adalah jumlah tabel yang digabungkan, maka jika tidak. dari gabungan adalah N-1, produk Cartesian tidak dilakukan
- Jika 'N' adalah jumlah tabel yang digabungkan, maka jika tidak. dari gabungan adalah N, produk Cartesian dilakukan
- Jika 'N' adalah jumlah tabel yang digabungkan, maka jika tidak. dari gabungan adalah N + 1, produk Cartesian dilakukan
- Jika 'N' adalah jumlah tabel yang digabungkan, maka jika tidak. dari gabungan adalah N-1 atau kurang, produk Cartesian dilakukan.
Answer: A. Gabungan Kartesius antara dua tabel mengembalikan setiap kemungkinan kombinasi baris dari tabel. Gabungan Cartesian dapat dibuat dengan tidak menyertakan operasi gabungan dalam kueri atau dengan menggunakan CROSS JOIN. Kueri harus memiliki setidaknya (N-1) kondisi gabungan untuk mencegah produk kartesius, dengan N adalah jumlah tabel dalam kueri.
28.What is the reason of error in the following SQL query? (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 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 first_name, last_name
FROM employees, departments
WHERE department_id (+) = department_id ;
- Tidak ada alias yang digunakan untuk tabel.
- Kata RIGHT OUTER JOIN tidak digunakan di sini karena itu melontarkan kesalahan
- Tanda (+) harus berada di sisi kanan dari kondisi kesetaraan dan bukan di sisi kiri
- Alias Tabel harus digunakan dengan department_id dalam kondisi untuk menghapus penamaan yang ambigu
Answer: D. Tanpa alias tabel, Oracle tidak dapat memperoleh asal dari kolom yang digabungkan dan karenanya melontarkan kesalahan Ambiguitas saat eksekusi.
29.Which of the following is used to avoid the ambiguous column problem in Oracle DB?
- ;
- ,
- .
- /
Answer: C. Sintaks untuk menghapus masalah kolom ambigu adalah: table_alias.column_name
30.Which of the following is the most appropriate about the following query? (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 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 employee_id , first_name, last_name
FROM employees e right outer join department d
On e.department_id = d.department_id ;
- Ini memberikan rincian karyawan yang tidak berada di departemen mana pun
- Ini memberikan rincian departemen yang tidak memiliki karyawan
- Ini memberikan rincian semua departemen terlepas dari apakah mereka memiliki karyawan atau tidak
- Ini memberikan rincian karyawan yang dipekerjakan di perusahaan 'ABC' terlepas dari departemennya.
Answer: C. Dengan metode JOIN untuk gabungan luar, Anda dapat menambahkan kata kunci KIRI, KANAN, atau PENUH. Gabungan luar kiri menyertakan semua rekaman dari tabel yang tercantum di sisi kiri gabungan, bahkan jika tidak ada kecocokan yang ditemukan dengan tabel lain dalam operasi gabungan. Gabungan luar penuh menyertakan semua rekaman dari kedua tabel, meskipun tidak ada rekaman terkait di tabel lain yang ditemukan.
31.What will be the outcome of the following query? (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 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 *
FROM employees e, department d
WHERE a.department_id = b.department_id ;
- Ini akan memberikan semua nilai yang cocok dari kedua tabel yang memiliki department_id yang sama
- Ini akan memberikan semua kolom dari tabel karyawan dan hanya 100 baris teratas dari tabel departemen
- Ini akan memberikan kesalahan ORA: "b.department_id" pengenal tidak valid
- Tak satu pun dari opsi di atas
Answer: C. Alias yang sama harus ada di klausa WHERE seperti yang dideklarasikan di klausa FROM
32.Which of the following is true regarding the USING and ON clauses in table joins? (Choose more than one options if applicable)
- Klausa ON dapat digunakan untuk menggabungkan tabel pada kolom dengan tipe data yang sama tetapi tidak harus dengan nama yang sama
- Klausa MENGGUNAKAN dan AKTIF hanya digunakan pada ekuivalen dan non-ekuivalen
- Tidak lebih dari satu kondisi yang dapat digunakan dengan klausa ON
- Klausa WHERE dapat ditulis setelah klausa USING..ON untuk menerapkan ketentuan tambahan
Answer: A, D. Pendekatan JOIN ... USING mirip dengan pendekatan NATURAL JOIN, kecuali kolom umum ditentukan dalam klausa USING. Kondisi tidak dapat disertakan dalam klausa PENGGUNAAN untuk menunjukkan bagaimana tabel terkait. Selain itu, kualifikasi kolom tidak dapat digunakan untuk kolom umum yang ditentukan dalam klausa USING. Pendekatan JOIN ... ON menggabungkan tabel berdasarkan kondisi tertentu. Kata kunci JOIN di klausa FROM menunjukkan tabel yang akan digabungkan, dan klausa ON menunjukkan bagaimana kedua tabel terkait. Pendekatan ini harus digunakan jika tabel yang digabungkan tidak memiliki kolom yang sama dengan nama yang sama di setiap tabel.
33.How many tables can be joined by using the JOINS in Oracle DB?
- 1
- 2
- 255
- Tidak terbatas
Answer: D. Saat ini tidak ada batasan jumlah tabel yang berpartisipasi dalam sebuah gabungan.
34. What is true when multiple joins are used in an SQL statement?
- Gabungan dievaluasi dari kiri ke kanan
- Gabungan dievaluasi dari kanan ke kiri
- Tidak ada prioritas dalam proses evaluasi gabungan
- Bukan dari salah satu di atas
Answer: A. Jika ada banyak gabungan dalam pernyataan, mereka dievaluasi dari kiri ke kanan.
35.What is true with respect to the following query? (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 departments
Name Null? Type
----------------------- -------- ----------------
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
SQL> desc bonus
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER
JOB_ID VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
SELECT bonus, first_name, department_id
FROM bonus b NATURAL JOIN employees e NATURAL JOIN department d;
- Penggunaan NATURAL JOIN untuk menggabungkan beberapa tabel adalah pilihan yang lebih baik dan memberikan hasil yang akurat
- Kemungkinan kesalahan sangat kecil ketika NATURAL JOIN digunakan untuk menggabungkan beberapa tabel
- Klausa USING..JOIN..ON memberikan hasil yang lebih akurat daripada NATURAL JOINs saat menggabungkan beberapa tabel
- Oracle secara implisit bergabung dengan beberapa tabel saat NATURAL JOIN digunakan dan karenanya merupakan praktik yang baik untuk menggunakan NATURAL JOINS
Answer: C. Penggunaan NATURAL JOINS dapat membuat produk Cartesian dari baris dan juga rentan kesalahan dengan kumpulan hasil yang tidak dapat diandalkan.
36.What is true about the clauses JOIN..ON in Oracle DB?
- Mereka tidak terlalu bisa diandalkan dibandingkan dengan NATURAL JOINS saat menggabungkan beberapa tabel
- Klausa JOIN..ON mirip dengan klausa WHERE yang membatasi baris dengan kondisi
- Klausa WHERE tambahan wajib diisi saat klausa JOIN..ON digunakan
- Bukan dari salah satu di atas
Answer: B. Pendekatan JOIN .... ON menggabungkan tabel berdasarkan kondisi tertentu. Kata kunci JOIN di klausa FROM menunjukkan tabel yang akan digabungkan, dan klausa ON menunjukkan bagaimana kedua tabel terkait. Pendekatan ini harus digunakan jika tabel yang digabungkan tidak memiliki kolom yang sama dengan nama yang sama di setiap tabel.
Examine the table structures as given. Answer the questions 37 and 38 that follow the query given below:
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 e.salary, d.department_id
FROM employees e JOIN department d
On (e.department_id = d.department_id and e.last_name = 'Brandon');
37.What is true with respect to the query given above?
- Ini memberikan kesalahan ORA karena klausa WHERE wajib tidak ada
- Klausa JOIN..ON tidak boleh berisi lebih dari satu kondisi
- Kueri mengabaikan kondisi terakhir dan dijalankan tanpa kesalahan ORA
- Klausa JOIN..ON dapat ditulis dalam bentuk yang diberikan di atas untuk menempatkan lebih banyak kondisi.
Answer: D. Klausa WHERE dapat dihilangkan dan kondisi yang relevan dapat diakomodasi dalam klausa JOIN..ON itu sendiri seperti yang ditunjukkan dalam kueri yang diberikan
38.With respect to the given query, if the JOIN used is replaced with NATURAL JOIN, it throws an error. What is the reason for this error?
- Ketika NATURAL JOIN digunakan, klausa WHERE wajib diisi, yang menghilangkan kesalahan akan muncul
- Klausa ON harus diganti dengan klausa USING
- Kata NATURAL, JOIN dan USING saling eksklusif dalam konteks klausa join yang sama
- Query tidak dapat menggabungkan klausa NATURAL JOIN dan ON (atau USING) saat bergabung.
Answer: C, D.
39.What is true about Non-equijoins in Oracle DB?
- Mereka bergabung berdasarkan kata kunci NON-EQUI JOIN
- Mereka digunakan menggunakan klausa JOIN..ON dengan tanda "="
- Hasil tersebut diperoleh jika hasil dari ketidaksamaan yang disebutkan bernilai benar.
- Bukan dari salah satu di atas
Answer: C. Gabungan non-equi digunakan dengan klausa JOIN..ON tetapi dengan operator pertidaksamaan.
Examine the structures of the tables EMPLOYEES and DEPARTMENTS as given and answer the questions 40 and 41 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 departments
Name Null? Type
----------------------- -------- ----------------
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
40.What will be the outcome of the following query in Oracle DB?
SELECT e.first_name, e.last_name, e.employee_id
FROM employees e JOIN department d
ON (e.salary BETWEEN 1000 AND 10000);
- Ini akan memunculkan kesalahan ORA karena kondisi di klausa ON salah.
- Ini akan memunculkan kesalahan ORA karena kesalahan sintaksis karena tidak ada tanda Kesetaraan "=" di klausa ON
- Ini akan berhasil dijalankan dan memberikan nama depan, nama belakang dan ID karyawan karyawan dengan kondisi yang disebutkan.
- Gabungan non-equi hanya dapat digunakan untuk menunjukkan persamaan dan bukan rentang.
Answer: C.
41.You need to find a report which lists the first names and last names of the employees whose salary is greater than 20000 and who are located in any of the departments in the location Geneva. Which of the following queries will give the required results?
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >20000) AND d.loc = upper ('Geneva');
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >=20000);
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >=20000) AND d.loc = 'Geneva';
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >20000) WHERE d.loc = upper('Geneva');
Answer: A, C.
42.On which of the following conditions is a row returned when an EQUI-JOIN is used to join tables?
- Hasil operasi pencocokan ketidaksetaraan benar
- Hasil operasi pencocokan ketimpangan adalah 0
- Hasil operasi pencocokan ketimpangan adalah 1
- Hasil dari operasi pencocokan ketidaksetaraan salah
Answer: A. Gabungan persamaan dibuat ketika data yang menggabungkan rekaman dari dua tabel berbeda sama persis (yaitu, kondisi persamaan menciptakan hubungan). Pendekatan tradisional menggunakan tanda sama dengan sebagai operator perbandingan dalam klausa WHERE. Pendekatan JOIN dapat menggunakan kata kunci NATURAL JOIN, JOIN ... USING, atau JOIN ... ON.
41.You need to find a report which lists the first names and last names of the employees whose salary is greater than 20000 and who are located in any of the departments in the location Geneva. Which of the following queries will give the required results?
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >20000) AND d.loc = upper ('Geneva');
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >=20000);
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >=20000) AND d.loc = 'Geneva';
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >20000) WHERE d.loc = upper('Geneva');
Answer: A, C.
42.On which of the following conditions is a row returned when an EQUI-JOIN is used to join tables?
- Hasil operasi pencocokan ketidaksetaraan benar
- Hasil operasi pencocokan ketimpangan adalah 0
- Hasil operasi pencocokan ketimpangan adalah 1
- Hasil dari operasi pencocokan ketidaksetaraan salah
Answer: A. Gabungan persamaan dibuat ketika data yang menggabungkan rekaman dari dua tabel berbeda sama persis (yaitu, kondisi persamaan menciptakan hubungan). Pendekatan tradisional menggunakan tanda sama dengan sebagai operator perbandingan dalam klausa WHERE. Pendekatan JOIN dapat menggunakan kata kunci NATURAL JOIN, JOIN ... USING, atau JOIN ... ON.
41.You need to find a report which lists the first names and last names of the employees whose salary is greater than 20000 and who are located in any of the departments in the location Geneva. Which of the following queries will give the required results?
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >20000) AND d.loc = upper ('Geneva');
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >=20000);
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >=20000) AND d.loc = 'Geneva';
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >20000) WHERE d.loc = upper('Geneva');
Answer: A, C.
42.On which of the following conditions is a row returned when an EQUI-JOIN is used to join tables?
- Hasil operasi pencocokan ketidaksetaraan benar
- Hasil operasi pencocokan ketimpangan adalah 0
- Hasil operasi pencocokan ketimpangan adalah 1
- Hasil dari operasi pencocokan ketidaksetaraan salah
Answer: A. Gabungan persamaan dibuat ketika data yang menggabungkan rekaman dari dua tabel berbeda sama persis (yaitu, kondisi persamaan menciptakan hubungan). Pendekatan tradisional menggunakan tanda sama dengan sebagai operator perbandingan dalam klausa WHERE. Pendekatan JOIN dapat menggunakan kata kunci NATURAL JOIN, JOIN ... USING, atau JOIN ... ON.
41.You need to find a report which lists the first names and last names of the employees whose salary is greater than 20000 and who are located in any of the departments in the location Geneva. Which of the following queries will give the required results?
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >20000) AND d.loc = upper ('Geneva');
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >=20000);
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >=20000) AND d.loc = 'Geneva';
SELECT e.first_name, e.last_name FROM employees e JOIN departments d ON (e.department_id = d.department_id and e.salary >20000) WHERE d.loc = upper('Geneva');
Answer: A, C.
42.On which of the following conditions is a row returned when an EQUI-JOIN is used to join tables?
- Hasil operasi pencocokan ketidaksetaraan benar
- Hasil operasi pencocokan ketimpangan adalah 0
- Hasil operasi pencocokan ketimpangan adalah 1
- Hasil dari operasi pencocokan ketidaksetaraan salah
Answer: A. Gabungan persamaan dibuat ketika data yang menggabungkan rekaman dari dua tabel berbeda sama persis (yaitu, kondisi persamaan menciptakan hubungan). Pendekatan tradisional menggunakan tanda sama dengan sebagai operator perbandingan dalam klausa WHERE. Pendekatan JOIN dapat menggunakan kata kunci NATURAL JOIN, JOIN ... USING, atau JOIN ... ON.
43.What is true regarding a Self-Join in Oracle DB?
- Hanya dua tabel yang diperlukan agar gabungan berfungsi
- Kolom dalam kumpulan hasil diperoleh dari dua tabel tetapi ditampilkan dalam satu tabel
- Secara konseptual, tabel sumber menduplikasi dirinya sendiri untuk membuat tabel target. (Oracle tidak menduplikasi tabel)
- Semua yang di atas
Answer: C. Bergabung sendiri digunakan saat tabel harus digabungkan ke tabel itu sendiri untuk mengambil data yang Anda butuhkan. Alias tabel diperlukan dalam klausa FROM untuk melakukan penggabungan mandiri.
44. With respect to the query and the table structure given below,answer the question.
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 *
FROM employees a join employees b
WHERE a.employee_id = b.employee_id ;
Manakah dari tabel berikut yang diperlakukan Oracle sebagai tabel sumber dan tabel target?
- a adalah sumber dan b adalah target
- b adalah sumber dan a adalah sasaran
- Oracle tidak memperlakukan tabel mana pun sebagai sumber atau target
- Bukan dari salah satu di atas
Answer: A. Tabel kemunculan pertama karyawan diambil sebagai sumber dan kemunculan berikutnya sebagai b, c, dan seterusnya.
45.In what scenarios can we use Self-Joins ideally in Oracle DB?
- Saat kita perlu menemukan record duplikat dalam sebuah tabel
- Ketika kita perlu mendapatkan nilai NULL dari tabel
- Saat kita perlu menampilkan kolom tabel dua kali
- Saat kita perlu menampilkan hierarki entitas yang relevan
Answer: D.
46. What is true about NATURAL JOINS in Oracle DB?
- Kolom yang digabungkan memiliki nama yang sama tetapi dapat memiliki tipe data yang berbeda
- Kolom yang digabungkan bisa memiliki tipe data yang sama tetapi nama yang berbeda
- Kolom yang digabungkan harus memiliki nama yang identik dan tipe data yang sama
- Bukan dari salah satu di atas
Answer: C. Kata kunci NATURAL JOIN tidak memerlukan kondisi untuk menetapkan hubungan antara dua tabel. Namun, kolom umum harus ada. Kualifikasi kolom tidak dapat digunakan dengan kata kunci NATURAL JOIN.
47.A report has to be extracted which gives the department name, department ID, department city and location ID only for departments 100 and 101. Using NATURAL JOINS, which of the following options will give the required results?
SELECT department_id , department_name ,location, city FROM departments NATURAL JOIN locations WHERE department_id in (100,101);
SELECT department_id , department_name ,location, city FROM locations NATURAL JOIN departments WHERE department_id BETWEEN 100 AND 101;
-
SELECT department_id , department_name ,location, city FROM departments NATURAL JOIN locations WHERE department_id >100 AND department_id >101;
-
SELECT department_id , department_name ,location, city FROM departments NATURAL JOIN locations ;
Answer: A. WHERE dapat digunakan untuk kondisi tambahan setelah klausa NATURAL JOIN.
48.In which of the following scenarios shall a USING clause or a NATURAL JOIN clause be used?
- Jika nama kolom dari tabel identik maka gunakan klausa USING
- Jika tipe data kolom dari tabel identik maka gunakan NATURAL JOINS
- Jika beberapa kolom memiliki nama yang sama tetapi tipe datanya tidak cocok, USING dapat digunakan
- NATURAL JOINS harus digunakan hanya jika nama kolom dan tipe datanya sama
Answer: C, D. NATURAL JOINS dan USING sama-sama eksklusif, klausa USING harus digunakan untuk mencocokkan hanya satu kolom bila lebih dari satu kolom cocok.
49.Examine the table structures given. What will be the outcome of the following query? (Choose the most appropriate answer)
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 bonus
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER
JOB_ID VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
SELECT e.name, b.bonus
FROM employees e
JOIN bonus b
USING (job_id)
WHERE e.job_id like 'SA%');
- Ini memberikan nama dan bonus yang diperoleh oleh semua karyawan di beberapa perusahaan
- Ini memberikan nama dan bonus yang diperoleh oleh semua karyawan dengan jabatan tertentu di sebuah perusahaan
- Itu mengeksekusi berhasil memberikan semua nama dan bonus yang diperoleh oleh semua karyawan di semua pekerjaan
- Ini melempar kesalahan ORA.
Answer: D. Kolom yang digunakan dalam klausa USING tidak boleh memiliki qualifier (nama tabel atau alias) di manapun dalam pernyataan SQL.
50.What is true with respect to INNER JOINS and OUTER JOINS in Oracle DB?
- INNER JOIN hanya mengembalikan baris yang cocok
- OUTER JOIN hanya mengembalikan baris yang tidak cocok
- OUTER JOIN mengembalikan baris yang cocok serta yang tidak cocok
- Bukan dari salah satu di atas
Answer: A, C. Gabungan bisa menjadi gabungan dalam, di mana satu-satunya rekaman yang dikembalikan memiliki rekaman yang cocok di semua tabel, atau gabungan luar, di mana rekaman bisa dikembalikan terlepas dari apakah ada rekaman yang cocok dalam gabungan. catatan harus disertakan dalam hasil tanpa catatan terkait di tabel gabungan. Catatan ini dicocokkan dengan catatan NULL sehingga mereka termasuk dalam keluaran.
51. What is true regarding FULL OUTER JOIN in Oracle DB?
- Saat LEFT OUTER JOIN dan RIGHT OUTER JOIN muncul dalam kueri yang sama, ini disebut FULL OUTER JOIN
- FULL OUTER JOIN sama dengan OUTER JOIN
- Baik A dan B
- Gabungan antara dua tabel yang mengembalikan hasil gabungan INNER dan LEFT dan RIGHT OUTER JOIN disebut FULL OUTER JOIN
Answer: D. Gabungan luar penuh menyertakan semua rekaman dari kedua tabel, meskipun tidak ada rekaman terkait di tabel lain yang ditemukan.
Examine the given table structures and answer the questions 52 and 53 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 departments
Name Null? Type
----------------------- -------- ----------------
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
SQL> desc bonus
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER
JOB_ID VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
52.Consider the following query.
SELECT e.job_id , e.first_name, d.department_id
FROM departments D JOIN employees e JOIN BONUS b
USING (job_id );
Kueri ini menghasilkan kesalahan. Apa alasan kesalahan tersebut?
- A JOIN..USING hanya dapat terjadi antara dua tabel dalam satu waktu
- Klausa USING dalam kueri tidak memiliki kolom apa pun dari departemen
- Tidak ada klausa WHERE dalam kueri
- Bukan dari salah satu di atas
Answer: A. Tabel1 GABUNG tabel2 GABUNG tabel3 tidak diperbolehkan tanpa klausa ON untuk antara setiap JOIN
53.You need to display all the non-matching rows from the EMPLOYEES table and the non-matching rows from the DEPARTMENT table without giving a Cartesian product of rows between them. Which of the following queries will give the desired output?
SELECT * FROM employees e, department d WHERE e.department_id = d.department_id ;
SELECT * FROM employees e NATURAL JOIN department d;
SELECT * FROM employees e FULL OUTER JOIN department d ON e.department_id = d.department_id ;
SELECT * FROM employees e JOIN department d ON ( e.department_id > d.department_id ) ;
Answer: C. FULL OUTER JOIN mengembalikan baris yang tidak cocok dari kedua tabel. Gabungan luar penuh menyertakan semua rekaman dari kedua tabel, meskipun tidak ada rekaman terkait di tabel lain yang ditemukan.
54.Which of the following ANSI SQL: 1999 join syntax joins are supported by Oracle?
- Produk Cartesian
- Gabungan alami
- Gabung OUTER penuh
- Equijoins
Answer: D.
55.Which of the following is not a format for Outer Joins in Oracle DB?
- Right
- Left
- Centre
- Full
Answer: C. Kecuali 'Center', 3 tipe lainnya adalah tipe format dari Outer Joins di Oracle DB. Dengan metode JOIN untuk gabungan luar, Anda dapat menambahkan kata kunci KIRI, KANAN, atau PENUH.
Examine the given table structures. Answer the questions 56, 57 and 58 that follow by referring to 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 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 *
FROM employees e NATURAL JOIN department d;
56.You need to find the results obtained by the above query only for the departments 100 and 101. Which of the following clauses should be added / modified to the above query?
- AKTIF (e.department_id = d.department_id) harus ditambahkan
- PENGGUNAAN (e.department_id) harus ditambahkan
- DI MANA e.department_id di (100,101) harus ditambahkan
- Bukan dari salah satu di atas
Answer: C. Klausa NATURAL JOIN secara implisit cocok dengan semua kolom bernama identik. Untuk menambahkan kondisi tambahan klausa WHERE dapat digunakan.
57.You need to find the results obtained by the above query for all those employees who have salaries greater than 20000. Which of the following clauses should be added / modified to the above query?
- AKTIF (e.department_id = d.department_id) DI MANA gaji> 20000;
- MENGGUNAKAN (e.department_id) DI MANA gaji> 20000;
- MENGGUNAKAN (department_id) DI MANA gaji> 20000;
- DI MANA gaji> 20000;
Answer: D.
58.If the NATURAL JOIN in the above query is replaced by only JOIN which of the following should be added / modified to the above query to give the results pertaining to Department 100?
- AKTIF (department_id = 100);
- MENGGUNAKAN (e.department_id = 100);
- DI MANA d.department_id = 100;
- AKTIF (e.department_id = d.department_id dan d.department_id = 100);
Answer: D. Equi-joins dapat ditambahkan untuk lebih banyak kondisi setelah klausa ON.
59.A report has to be extracted to get the Managers for all the employees in the departments 10 and 20 of a company 'ABC'. Which of the following queries will give 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 a.first_name || ' '||a.last_name "Manager", b.first_name||' '||b.last_name "Employees" FROM employees a join employees b On (employee_id );
SELECT a.first_name || ' '||a.last_name "Manager", b.first_name||' '||b.last_name "Employees" FROM employees a join employees b On (b.employee_id = a.employee_id );
SELECT a.first_name || ' '||a.last_name "Manager", b.first_name||' '||b.last_name "Employees" FROM employees a join employees b On (a.manager_id = b.employee_id ) WHERE department_id in (10,20);
SELECT a.first_name || ' '||a.last_name "Manager", b.first_name||' '||b.last_name "Employees" FROM employees a join employees b On (a.manager_id = b.employee_id ) WHERE a.department_id in (10,20);
Answer: D. Opsi C tidak benar karena department_id non-aliased di klausa WHERE akan menampilkan kesalahan.
60.Which of the following queries will give results without duplicate values between the two tables EMPLOYEES and DEPARTMENT? (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 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 * FROM employees e NATURAL JOIN department d;
SELECT * FROM employees e JOIN department d;
SELECT * FROM employees e NATURAL JOIN department d USING (e.department_id );
SELECT * FROM employees e FULL OUTER JOIN department d USING (department_id );
Answer: D. FULL OUTER JOIN akan memberikan semua baris yang cocok maupun tidak cocok dari kedua tabel tidak termasuk nilai duplikat.
Examine the structures for the tables as given here and answer the questions 61 to 64.
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 bonus
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER
JOB_ID VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
SQL> desc locations
Name Null? Type
----------------------- -------- ----------------
LOCATION_ID NOT NULL NUMBER(4)
STREET_ADDRESS VARCHAR2(40)
POSTAL_CODE VARCHAR2(12)
CITY NOT NULL VARCHAR2(30)
STATE_PROVINCE VARCHAR2(25)
COUNTRY_ID CHAR(2)
SQL> desc locations
Name Null? Type
----------------------- -------- ----------------
LOCATION_ID NOT NULL NUMBER(4)
STREET_ADDRESS VARCHAR2(40)
POSTAL_CODE VARCHAR2(12)
CITY NOT NULL VARCHAR2(30)
STATE_PROVINCE VARCHAR2(25)
COUNTRY_ID CHAR(2)
61.What is true about the following query? (Choose the most appropriate answer)
SELECT *
FROM bonus b, employees e
WHERE b.job_id (+) = e.job_id ;
- Ini akan menampilkan semua bonus yang diperoleh oleh semua karyawan.
- Ini akan menampilkan NULL untuk kolom bonus jika karyawan tertentu belum menerima bonus apa pun
- Baik A dan B
- Bukan dari salah satu di atas
Answer: B. Tanda (+) ada di kiri persamaan berarti itu adalah RIGHT OUTER JOIN dan sebaliknya.
62.You have to list all the departments who have no employees yet in a company named 'XYZ'. Which of the following queries will give you the required results?
SELECT department_id , department_name FROM departments d NATURAL JOIN employees e;
SELECT department_id , department_name FROM employees e JOIN departments d ON (e.department_id = d.department_id );
SELECT department_id , department_name FROM employees e LEFT OUTER JOIN departments d USING (department_id );
SELECT department_id , department_name FROM employees e RIGHT OUTER JOIN departments d ON (e.department_id = d.department_id );
Answer: D.
63.You need to extract a report which displays 'No department yet' for all those employees who are yet to be allocated to a department. Which of the following will fulfill the purpose?
SELECT nvl(department_id ,'No department yet') FROM employees e RIGHT OUTER JOIN departments d ON (e.department_id = d.department_id );
SELECT nvl(department_id ,'No department yet') FROM departments d LEFT OUTER JOIN employees e ON (e.department_id = d.department_id );
SELECT nvl(department_id ,'No department yet') FROM employees e LEFT OUTER JOIN departments d ON (e.department_id = d.department_id );
SELECT nvl(department_id ,'No department yet') FROM employees e FULL OUTER JOIN departments d ON (e.department_id = d.department_id );
Answer: C.
64.You need to extract a report which displays all the departments which have not been assigned to a city yet. Which of the following queries will give you the required output?
SELECT department_id , department_name FROM departments d NATURAL JOIN locations l;
SELECT department_id , department_name FROM departments d FULL OUTTER JOIN locations l ON (d.location_id = l.location_id);
SELECT d.department_id , d.department_name FROM departments d JOIN locations l USING (location_id);
SELECT department_id , department_name FROM departments d LEFT OUTER JOIN locations l ON (d.location_id = l.location_id);
Answer: D.
65.In which two cases an OUTER JOIN should be used?
- Jika kolom tabel yang digabungkan memiliki nilai NULL
- Jika tabel yang digabungkan memiliki kolom NOT NULL
- Jika tabel yang digabungkan hanya memiliki data yang tidak cocok
- Jika tabel yang digabungkan memiliki data yang cocok dan tidak cocok
Answer: A, D. Gabungan luar dibuat saat rekaman perlu disertakan dalam hasil tanpa memiliki rekaman terkait dalam tabel gabungan. Catatan ini dicocokkan dengan catatan NULL sehingga mereka termasuk dalam keluaran.
66.You need to find the salary grade obtained by each employee. Which of the following query will you use? (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 grade
Name Null? Type
----------------------- -------- ----------------
GRADE NUMBER
LOSAL NUMBER
HISAL NUMBER
SELECT employee_id , salary, grade FROM employees e JOIN grade g ON g.grade BETWEEN g.losal AND g.hisal
SELECT employee_id , salary, grade FROM employees e FULL OUTER JOIN grade g WHERE g.grade > g.losal AND < g.hisal;
SELECT employee_id , salary, grade FROM employees e JOIN grade g ON (MIN(g.grade) = g.losal AND MAX(g.grade) = g.hisal);
- Bukan dari salah satu di atas
Answer: A.
67.Examine the table structures 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 bonus
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER
JOB_ID VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
Evaluasi pernyataan SQL ini:
SELECT e.employee_id , (.25* e.salary) + (.5 * e.commission_pct) + (.75 * b.bonus) as calc_val
FROM employees e, bonus b
WHERE e.employee_id = b.employee_id ;
Apa yang akan terjadi jika Anda menghapus semua tanda kurung dari perhitungan?
- Nilai yang ditampilkan di kolom calc_val akan lebih kecil.
- Nilai yang ditampilkan di kolom calc_val akan lebih tinggi.
- Tidak akan ada perbedaan di kolom calc_val.
- Kesalahan akan dilaporkan.
Answer: C.
68.Consider the exhibit and examine the structures of the EMPLOYEES, DEPARTMENTS, and GRADE tables. For which situation would you use a non-equijoin query?
- Untuk menemukan nilai masing-masing karyawan
- Untuk mencantumkan nama, job_id, dan nama manajer untuk semua karyawan
- Untuk menemukan nama departemen karyawan.
- Untuk mengetahui jumlah karyawan yang bekerja untuk departemen Administrasi dan berpenghasilan kurang dari 30.000
Answer: A. Gabungan non-kesetaraan membentuk hubungan berdasarkan apa pun selain kondisi yang sama. Nilai rentang yang digunakan dengan gabungan non-kesetaraan harus saling eksklusif.
69.In which three cases would you use the USING clause? (Choose three.)
- Anda ingin membuat non-equijoin.
- Tabel yang akan digabungkan memiliki beberapa kolom NULL.
- Tabel yang akan digabungkan memiliki kolom dengan nama yang sama dan tipe data yang berbeda.
- Anda ingin menggunakan gabungan NATURAL, tetapi Anda ingin membatasi jumlah kolom dalam kondisi gabungan.
Answer: C, D. Pendekatan JOIN .... USING mirip dengan pendekatan NATURAL JOIN, kecuali kolom umum ditentukan dalam klausa USING. Kondisi tidak dapat disertakan dalam klausa PENGGUNAAN untuk menunjukkan bagaimana tabel terkait. Selain itu, kualifikasi kolom tidak dapat digunakan untuk kolom umum yang ditentukan dalam klausa USING.
70.If the tables EMPLOYEES and BONUS have two columns with identical names viz: - SALARY and JOB_ID, which of the following queries are equivalent to each other? (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 bonus
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER
JOB_ID VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
SELECT * FROM employees E JOIN bonus B on (salary, job_id )
SELECT * FROM employees E NATURAL JOIN bonus B on (salary, job_id )
SELECT * FROM employees E JOIN bonus B USING (salary, job_id )
SELECT * FROM employees E JOIN bonus B on (salary, job_id )
Answer: B, C.
71.Examine 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 departments
Name Null? Type
----------------------- -------- ----------------
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
Periksa dua pernyataan SQL berikut:
Query 1SELECT first_name,department_id
FROM employees E JOIN departments D
USING (department_id );
Query 2
SELECT first_name,department_id
FROM employees E NATURAL JOIN departments D
USING (department_id );
Pernyataan mana yang benar tentang hasilnya?
- Hanya kueri 1 yang berhasil dijalankan dan memberikan hasil yang diperlukan.
- Hanya query 2 yang berhasil dijalankan dan memberikan hasil yang dibutuhkan.
- Kedua kueri 1 dan 2 berhasil dijalankan dan memberikan hasil yang berbeda.
- Kedua kueri 1 dan 2 berhasil dijalankan dan memberikan hasil yang diminta sama.
Answer: D.
72.You need to generate a report showing the department location along with the employee name for all hires made before 20th January, 2013.
Anda mengeluarkan pertanyaan berikut:
SELECT department_name , first_name||' '||last_name
FROM employees E JOIN department d
ON ( hire_date < '20-JAN-2013')
JOIN locations L
ON (l.location_id = d.location_id) ;
Pernyataan manakah yang benar terkait pertanyaan di atas?
- Itu berhasil dijalankan dan memberikan hasil yang dibutuhkan.
- Itu berhasil dijalankan tetapi tidak memberikan hasil yang dibutuhkan.
- Ini menghasilkan kesalahan karena urutan gabungan tabel tidak benar.
- Ini menghasilkan kesalahan karena kondisi equijoin dan non-equijoin tidak dapat digunakan dalam pernyataan SELECT yang sama.
Answer: B.
73.Examine the structure of the EMPLOYEES table:
Anda ingin mengetahui apakah ada detail karyawan yang dimasukkan lebih dari sekali menggunakan EMPLOYEE_ID yang berbeda, dengan mencantumkan semua nama duplikat. Metode mana yang dapat Anda gunakan untuk mendapatkan hasil yang diinginkan?
- self-join
- full-outer-join dengan self-join
- left outer-join dengan self-join
- gabung-luar kanan dengan gabung mandiri
Answer: A. Bergabung sendiri digunakan saat tabel harus digabungkan ke tabel itu sendiri untuk mengambil data yang Anda butuhkan. Alias tabel diperlukan dalam klausa FROM untuk melakukan penggabungan mandiri.
Examine the structure of the tables DEPARTMENTS and LOCATIONS and answer the questions 74 and 75 that follow.
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)
SQL> desc locations
Name Null? Type
----------------------- -------- ----------------
LOCATION_ID NOT NULL NUMBER(4)
STREET_ADDRESS VARCHAR2(40)
POSTAL_CODE VARCHAR2(12)
CITY NOT NULL VARCHAR2(30)
STATE_PROVINCE VARCHAR2(25)
COUNTRY_ID CHAR(2)
74.You need to find out the departments that have not been allocated any location. Which query would give the required result?
SELECT d.department_id , d.department_name FROM departments d JOIN locations l ON (d.location_id = l.location_id);
SELECT d.department_id , d.department_name FROM departments d RIGHT OUTER JOIN locations l ON (d.location_id = l.location_id);
SELECT d.department_id , d.department_name FROM departments d FULL JOIN locations l ON (d.location_id = l.location_id);
SELECT d.department_id , d.department_name FROM departments d LEFT OUTER JOIN locations l ON (d.location_id = l.location_id);
Answer: B.
75.You want to list all departments that are not located in any location along with the department name. Evaluate the following query:
SELECT d.department_id , d.department_name ,l.location_id, l.city
FROM departments D __________________ location L
ON (d.location_id = l.location_id);
Dua opsi JOIN manakah yang dapat digunakan di kolom kosong pada kueri di atas untuk memberikan hasil yang benar?
- JOIN
- BERGABUNG ALAM
- LEFT OUTER GABUNG
- KANAN OUTER GABUNG
Answer: A, C.
76. You need to generate a report that shows all department IDs, with corresponding employees (if any) and bonus details (if any), for all employees. Which FROM clause gives the required result? (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 bonus
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER
JOB_ID VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
- DARI departemen LEFT OUTER GABUNG karyawan MENGGUNAKAN (department_id) FULL OUTER JOIN bonus
- FULL OUTER JOIN department USING (department_id);
- DARI bonus GABUNG karyawan MENGGUNAKAN (job_id)
- DARI karyawan FULL OUTER JOIN departments FULL OUTER JOIN bonus
Answer: A.
77. Examine the following exhibits:
Anda ingin membuat laporan yang mencantumkan ID karyawan dan komisi serta departemen yang sesuai (jika ada), jika ada atau tidak komisi. Evaluasi kueri berikut:
SELECT e.employee_id , bonus, department_name FROM bonus b_____________ employees
USING (job_id ) ____________ departments
USING (department_id )
WHERE commission_pct IS NOT NULL;
Kombinasi gabungan mana yang digunakan dalam kolom kosong dalam kueri di atas yang memberikan hasil yang benar?
- IKUTI; LEFT OUTER GABUNG
- FULL OUTER JOIN; FULL OUTER JOIN
- DI LUAR KANAN BERGABUNG; LEFT OUTER GABUNG
- LEFT OUTER JOIN; KANAN OUTER GABUNG
Answer: A.
78.Predict the outcome of the following query.
SELECT e.salary, bonus
FROM employees E JOIN bonus b
USING (salary,job_id );
- Itu berhasil dijalankan.
- Itu melempar kesalahan karena bonus di SELECT tidak alias
- Ini menimbulkan kesalahan karena klausa USING tidak boleh memiliki lebih dari 1 kolom.
- Itu berhasil dijalankan tetapi hasilnya tidak benar.
Answer: D.
View the Exhibit and examine the structure of the EMPLOYEES, DEPARTMENTS, LOCATIONS and BONUS. Answer the questions from 79 and 80 that follow:
79.You need to list all the departments in the city of Zurich. You execute the following query:
SELECT D.DEPARTMENT_ID , D.DEPARTMENT_NAME , L.CITY
FROM departments D JOIN LOCATIONS L
USING (LOC_ID,CITY)
WHERE L.CITY = UPPER('ZURICH');
Memprediksi hasil dari kueri di atas.
- Itu berhasil dijalankan.
- Ini memberikan kesalahan karena kualifikasi digunakan untuk CITY dalam pernyataan SELECT.
- Ini memberikan kesalahan karena nama kolom di SELECT tidak cocok
- Ini memberikan kesalahan karena klausa USING memiliki CITY yang bukan kolom yang cocok.
Answer: D. Hanya nama kolom yang cocok yang harus digunakan dalam klausa USING.
80.Answer the question that follows the query given below:
SELECT e.first_name, d.department_id , e.salary, b.bonus
FROM bonus b join employees e
USING (job_id )
JOIN department d
USING (department_id )
WHERE d.loc = 'Zurich';
Anda perlu mengekstrak laporan yang memberikan nama depan, nomor departemen, gaji dan bonus dari karyawan sebuah perusahaan bernama 'ABC'. Manakah dari pertanyaan berikut yang akan menyelesaikan tujuan?
SELECT e.first_name, d.department_id , e.salary, b.bonus FROM bonus b join employees e join departments d on (b.job_id = e.job_id ) on (e.department_id =d.department_id ) WHERE d.loc = 'Zurich';
SELECT e.first_name, d.department_id , e.salary, b.bonus FROM bonus b join employees e on (b.job_id = e.job_id ) JOIN department d on (e.department_id =d.department_id ) WHERE d.loc = 'Zurich';
SELECT e.first_name, d.department_id , e.salary, b.bonus FROM employees e join bonus b USING (job_id ) JOIN department d USING (department_id ) WHERE d.loc = 'Zurich';
- Bukan dari salah satu di atas
Answer: C. Kueri A akan memunculkan kesalahan sintaksis, kueri B akan memunculkan kesalahan pengidentifikasi yang tidak valid antara bonus dan departemen.
Examine the Exhibits given below and answer the questions 81 to 85 that follow.
81. You need to find the managers' name for those employees who earn more than 20000. Which of the following queries will work for getting the required results?
SELECT e.employee_id "Employee", salary, employee_id , FROM employees E JOIN employees M USING (e.manager_id = m.employee_id ) WHERE e.salary >20000;
SELECT e.employee_id "Employee", salary, employee_id , FROM employees E JOIN employees M USING (e.manager_id) WHERE e.salary >20000;
SELECT e.employee_id "Employee", salary, employee_id , FROM employees E NATURAL JOIN employees M USING (e.manager_id = m.employee_id ) WHERE e.salary >20000;
SELECT e.employee_id "Employee", salary, employee_id , FROM employees E JOIN employees M ON (e.manager_id = m.employee_id ) WHERE e.salary >20000;
Answer: D.
82.You issue the following query:
SELECT e.employee_id ,d.department_id
FROM employees e NATURAL JOIN department d NATURAL JOIN bonus b
WHERE department_id =100;
Pernyataan manakah yang benar tentang hasil dari kueri ini?
- Itu berhasil dijalankan.
- Ini menghasilkan kesalahan karena gabungan NATURAL hanya dapat digunakan dengan dua tabel.
- Ini menghasilkan kesalahan karena kolom yang digunakan dalam gabungan NATURAL tidak dapat memiliki kualifikasi.
- Ini menghasilkan kesalahan karena semua kolom yang digunakan dalam gabungan NATURAL harus memiliki kualifikasi.
Answer: C.
83.You want to display all the employee names and their corresponding manager names. Evaluate the following query:
SELECT e.first_name "EMP NAME", m.employee_name "MGR NAME"
FROM employees e ______________ employees m
ON e.manager_id = m.employee_id ;
Opsi JOIN mana yang dapat digunakan di kolom kosong pada kueri di atas untuk mendapatkan output yang diperlukan?
- GABUNG batin yang sederhana
- FULL OUTER JOIN
- LEFT OUTER GABUNG
- KANAN OUTER GABUNG
Answer: C. Gabungan luar kiri menyertakan semua rekaman dari tabel yang tercantum di sisi kiri gabungan, bahkan jika tidak ada kecocokan yang ditemukan dengan tabel lain dalam operasi gabungan.
Consider the below exhibit and following query to answer questions 84 and 85. (Assume the table department has manager_id and department_name as its columns)
Select *
FROM employees e JOIN department d
ON (e.employee_id = d.manager_id);
84. You need to display a sentence "(first_name) (last_name) is manager of the (department_name) department". Which of the following SELECT statements will successfully replace '*' in the above query to fulfill this requirement?
SELECT e.first_name||' '||e.last_name||' is manager of the '||d.department_name||' department.' "Managers"
SELECT e.first_name, e.last_name||' is manager of the '||d.department_name||' department.' "Managers"
SELECT e.last_name||' is manager of the '||d.department_name||' department.' "Managers"
- Bukan dari salah satu di atas
Answer: A.
85.What will happen if we omit writing the braces "( )" after the ON clause in the above query?
- Ini hanya akan memberikan nama karyawan dan nama manajer akan dikeluarkan dari set hasil
- Ini akan memberikan hasil yang sama seperti dengan tanda kurung "()"
- Ini akan memberikan kesalahan ORA karena itu wajib untuk menulis tanda kurung "()" saat menggunakan klausa JOIN..ON
- Bukan dari salah satu di atas
Answer: B. Kawat gigi tidak wajib, tetapi menggunakannya memberikan keterbacaan yang jelas tentang kondisi di dalamnya.
86. Which of the following queries creates a Cartesian join?
SELECT title, authorid FROM books, bookauthor;
SELECT title, name FROM books CROSS JOIN publisher;
SELECT title, gift FROM books NATURAL JOIN promotion;
- semua yang di atas
Answer: A, B. Gabungan Kartesius antara dua tabel mengembalikan setiap kemungkinan kombinasi baris dari tabel. Gabungan Cartesian dapat dibuat dengan tidak menyertakan operasi gabungan dalam kueri atau dengan menggunakan CROSS JOIN.
87. Which of the following operators is not allowed in an outer join?
- AND
- =
- OR
- >
Answer: C. Oracle memunculkan pengecualian "ORA-01719: operator gabungan luar (+) tidak diizinkan dalam operan OR atau IN"
88. Which of the following queries contains an equality join?
SELECT title, authorid FROM books, bookauthor WHERE books.isbn = bookauthor.isbn AND retail > 20;
SELECT title, name FROM books CROSS JOIN publisher;
SELECT title, gift FROM books, promotion WHERE retail >= minretail AND retail <= maxretail;
- Bukan dari salah satu di atas
Answer: A. Gabungan kesetaraan dibuat saat data yang menggabungkan rekaman dari dua tabel berbeda sama persis (yaitu, kondisi kesetaraan membuat hubungan).
89. Which of the following queries contains a non-equality join?
SELECT title, authorid FROM books, bookauthor WHERE books.isbn = bookauthor.isbn AND retail > 20;
SELECT title, name FROM books JOIN publisher USING (pubid);
SELECT title, gift FROM books, promotion WHERE retail >= minretail AND retail <= maxretail;
- Bukan dari salah satu di atas
Answer: D. Nonequijoins mencocokkan nilai kolom dari tabel berbeda berdasarkan ekspresi ketidaksetaraan. Nilai kolom gabungan di setiap baris di tabel sumber dibandingkan dengan nilai yang sesuai di tabel target. Kecocokan ditemukan jika ekspresi yang digunakan dalam gabungan, berdasarkan operator ketidaksetaraan, bernilai true. Ketika gabungan tersebut dibuat, sebuah nonequijoin dijalankan. Nonequijoin ditentukan menggunakan sintaks JOIN..ON, tetapi kondisi gabungan berisi operator ketidaksetaraan, bukan tanda sama dengan.
90. The following SQL statement contains which type of join?
SELECT title, order#, quantity
FROM books FULL OUTER JOIN orderitems
ON books.isbn = orderitems.isbn;
- equality
- self-join
- non-equality
- bergabung luar
Answer: D. Gabungan luar penuh menyertakan semua rekaman dari kedua tabel, meskipun tidak ada rekaman terkait di tabel lain yang ditemukan.
91. Which of the following queries is valid?
SELECT b.title, b.retail, o.quantity FROM books b NATURAL JOIN orders od NATURAL JOIN orderitems o WHERE od.order# = 1005;
SELECT b.title, b.retail, o.quantity FROM books b, orders od, orderitems o WHERE orders.order# = orderitems.order# AND orderitems.isbn=books.isbn AND od.order#=1005;
SELECT b.title, b.retail, o.quantity FROM books b, orderitems o WHERE o.isbn = b.isbn AND o.order#=1005;
- Bukan dari salah satu di atas
Answer: C. Jika tabel dalam gabungan memiliki alias, kolom yang dipilih harus dirujuk dengan alias dan bukan dengan nama tabel yang sebenarnya.
92. Given the following query.
SELECT zip, order#
FROM customers NATURAL JOIN orders;
Manakah dari kueri berikut ini yang setara?
SELECT zip, order# FROM customers JOIN orders WHERE customers.customer# = orders.customer#;
SELECT zip, order# FROM customers, orders WHERE customers.customer# = orders.customer#;
SELECT zip, order# FROM customers, orders WHERE customers.customer# = orders.customer# (+);
- bukan dari salah satu di atas
Answer: B. Natural join menginstruksikan Oracle untuk mengidentifikasi kolom dengan nama identik antara tabel sumber dan target.
93. Examine the table structures as given. Which line in the following SQL statement raises an error?
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)
1. SELECT e.first_name, d.department_name
2. FROM employees e, department d
3. WHERE e.department_id=d.department_id
- baris 1
- baris 2
- baris 3
- Tidak ada kesalahan
Answer: A. Jika kueri menggunakan nama alias dalam kondisi gabungan, kolom mereka harus menggunakan alias untuk referensi.
94. Given the following query:
SELECT lastname, firstname, order#
FROM customers LEFT OUTER JOIN orders
USING (customer#)
ORDER BY customer#;
Manakah dari kueri berikut ini yang memberikan hasil yang sama?
SELECT lastname, firstname, order# FROM customers c OUTER JOIN orders o ON c.customer# = o.customer# ORDER BY c.customer#;
SELECT lastname, firstname, order# FROM orders o RIGHT OUTER JOIN customers c ON c.customer# = o.customer# ORDER BY c.customer#;
SELECT lastname, firstname, order# FROM customers c, orders o WHERE c.customer# = o.customer# (+) ORDER BY c.customer#;
- Bukan dari salah satu di atas
Answer: B, C.
95. Which of the below statements are true?
- Fungsi grup tidak dapat digunakan terhadap data dari berbagai sumber data.
- Jika beberapa tabel digabungkan dalam satu kueri, berisi kolom yang identik, Oracle hanya akan memilih salah satunya.
- Gabungan alami digunakan untuk menggabungkan baris dari dua tabel berdasarkan kolom yang identik.
- A dan B
Answer: C. Fungsi grup dapat digunakan pada kueri menggunakan Oracle joins. Kolom yang ambigu harus direferensikan menggunakan qualifier.
96. Which line in the following SQL statement raises an error?
1. SELECT name, title
2. FROM books JOIN publisher
3. WHERE books.pubid = publisher.pubid
4. AND
5. cost < 45.95
- baris 1
- baris 2
- baris 3
- baris 4
Answer: C. Karena tabel digabungkan menggunakan kata kunci JOIN, kondisi kesetaraan harus ditulis dengan klausa USING dan bukan klausa WHERE.
97. Given the following query:
SELECT title, gift
FROM books CROSS JOIN promotion;
Manakah dari kueri berikut ini yang setara?
SELECT title, gift FROM books NATURAL JOIN promotion;
SELECT title FROM books INTERSECT SELECT gift FROM promotion;
SELECT title FROM books UNION ALL SELECT gift FROM promotion;
SELECT title, gift FROM books, promotion;
Answer: D. Gabungan Cartesian sama dengan gabungan Cross.
98. If the CUSTOMERS table contains seven records and the ORDERS table has eight records, how many records does the following query produce?
SELECT *
FROM customers CROSS JOIN orders;
- 0
- 56
- 7
- 15
Answer: B. Gabungan silang adalah produk silang dari baris yang terdapat dalam dua tabel.
99. Which of the following SQL statements is not valid?
SELECT b.isbn, p.name FROM books b NATURAL JOIN publisher p;
SELECT isbn, name FROM books b, publisher p WHERE b.pubid = p.pubid;
SELECT isbn, name FROM books b JOIN publisher p ON b.pubid = p.pubid;
SELECT isbn, name FROM books JOIN publisher USING (pubid);
Answer: A. Kolom yang ambigu harus dirujuk dengan kualifikasi tabel.
100. Which of the following lists all books published by the publisher named 'Printing Is Us'?
SELECT title FROM books NATURAL JOIN publisher WHERE name = 'PRINTING IS US';
SELECT title FROM books, publisher WHERE pubname = 1;
SELECT * FROM books b, publisher p JOIN tables ON b.pubid = p.pubid WHERE name = 'PRINTING IS US';
- bukan dari salah satu di atas
Answer: A. Dengan asumsi bahwa kolom NAME tidak terdapat dalam tabel BUKU, query A adalah valid.
101. Which of the following SQL statements is not valid?
SELECT isbn FROM books MINUS SELECT isbn FROM orderitems;
SELECT isbn, name FROM books, publisher WHERE books.pubid (+) = publisher.pubid (+);
SELECT title, name FROM books NATURAL JOIN publisher
- Semua pernyataan SQL di atas valid.
Answer: B. Kueri B memunculkan pengecualian "ORA-01468: predikat hanya dapat mereferensikan satu tabel gabungan luar".
102. Which of the following statements about an outer join between two tables is true?
- Jika hubungan antara tabel dibuat dengan klausa WHERE, kedua tabel dapat menyertakan operator gabungan luar.
- Untuk menyertakan catatan yang tidak cocok dalam hasil, catatan tersebut dipasangkan dengan catatan NULL dalam tabel yang kurang.
- Kata kunci RIGHT, LEFT, dan FULL adalah setara.
- semua yang di atas
Answer: B.
103. Which line in the following SQL statement raises an error?
1. SELECT name, title
2. FROM books b, publisher p
3. WHERE books.pubid = publisher.pubid
4. AND
5. (retail > 25 OR retail-cost > 18.95);
- baris 1
- baris 3
- baris 4
- baris 5
Answer: B. Karena tabel yang digunakan dalam kueri memiliki kualifikasi, kolom harus dirujuk menggunakan yang sama.
104. What is the maximum number of characters allowed in a table alias?
- 10
- 155
- 255
- 30
Answer: D. Alias tabel maksimal 30 karakter.
105. Which of the following SQL statements is valid?
SELECT books.title, orderitems.quantity FROM books b, orderitems o WHERE b.isbn= o.ibsn;
SELECT title, quantity FROM books b JOIN orderitems o;
SELECT books.title, orderitems.quantity FROM books JOIN orderitems ON books.isbn = orderitems.isbn;
- bukan dari salah satu di atas
Answer: C.