SQL (kependekan dari: Structured Query Language) adalah bahasa standar yang digunakan untuk mengakses sebuah basis data relasional, termasuk Oracle. SQL menyediakan sekumpulan statemen untuk melakukan proses penyimpanan, modifikasi, dan pengambilan data di dalam database.
Section 6
(Jawab semua pertanyaan di bagian ini)
Manakah dari konsep desain database berikut yang Anda butuhkan dalam tabel untuk menulis kueri Hierarkis?
Busur
Kemampuan Non-transfer
Hubungan Rekursif
Supertype
Pernyataan manakah mengenai self join yang benar?
Alias tabel tidak dapat digunakan untuk menentukan tabel yang memenuhi syarat.
Self join harus diterapkan dengan menentukan tampilan.
Klausa NATURAL JOIN harus digunakan.
Alias tabel harus digunakan untuk menentukan tabel yang memenuhi syarat.
Manakah dari konsep desain database berikut yang diterapkan dengan self join?
Kemampuan Non-transfer
Busur
Supertype
Hubungan Rekursif
Pertanyaan hierarkis dapat berjalan Atas-Bawah dan Bawah-Atas. Benar atau Salah?
TRUE
FALSE
Evaluasi pernyataan SELECT ini:
SELECT *
FROM employee worker JOIN employee manager
ON worker.mgr_id = manager.emp_id;
Jenis join manakah yang dibuat oleh pernyataan SELECT ini?
full outer join
cross join
self join
left outer join
Pernyataan berikut merupakan contoh dari join apa?
SELECT car.vehicle_id, driver.name
FROM car
LEFT OUTER JOIN driver USING(driver_id) ;
Optimal Join
Inner Join
Outer Join
Equijoin
Jenis join mana yang menghasilkan baris dari tabel yang TIDAK memiliki kecocokan langsung dalam tabel lain?
Outer join
Self join
Natural join
Equijoin
Kueri mana yang mewakili sintaks yang benar untuk left outer join?
SELECT companyname, orderdate, total
FROM customers
OUTER JOIN orders
ON customers.cust_id = orders.cust_id;
SELECT companyname, orderdate, total
FROM customers
LEFT OUTER orders
ON customers.cust_id = orders.cust_id;
SELECT companyname, orderdate, total
FROM customers
LEFT JOIN orders
ON customers.cust_id = orders.cust_id;
SELECT companyname, orderdate, total
FROM customers
LEFT OUTER JOIN orders
ON customers.cust_id = orders.cust_id;
Jenis join apa yang akan menghasilkan nilai tanpa kecocokan dari kedua tabel dalam join?
Left outer join
Natural join
Full outer join
Right outer join
Kolom join harus disertakan pada pernyataan select saat Anda menggunakan klausa NATURAL JOIN. Benar atau Salah?
TRUE
FALSE
Dari kondisi berikut ini, manakah yang akan menyebabkan kesalahan pada NATURAL JOIN?
Jika memilih baris dari dua tabel yang memiliki nilai yang sama di semua kolom yang cocok.
Jika kolom yang memiliki nama yang sama memiliki jenis data yang berbeda.
Ketika Anda berusaha menggunakan dua tabel yang memiliki bidang yang sama
Kapan klausa NATURAL JOIN didasarkan pada semua kolom dalam dua tabel yang memiliki nama yang sama.
Anda harus menggabungkan dua tabel yang memiliki dua kolom dengan nama, jenis data, dan presisi yang sama. Jenis join manakah yang akan Anda buat untuk menggabungkan tabel pada kedua kolom?
Outer join
Natural join
Cross join
Self-join
Alias tabel HARUS digunakan dengan kolom yang dirujuk dalam klausa JOIN USING. Benar atau Salah?
TRUE
FALSE
Evaluasi pernyataan SELECT ini:
SELECT patient.lname || ', ' || patient.fname as "Patient", physician.lname || ', ' || physician.fname as "Physician", c.admission
FROM patient
JOIN physician
ON (physician.physician_id = admission.physician_id)
JOIN admission
ON (patient.patient_id = admission.patient_id);
Klausa apa yang menghasilkan kesalahan?
ON (b.physician_id = c.physician_id);
ON (a.patient_id = c.patient_id)
JOIN admission c
JOIN physician b
Keunggulan utama dari menggunakan JOIN ON adalah: (Pilih dua)
Join terjadi secara otomatis berdasarkan nama kolom dan jenis data yang cocok.
Ini akan mengizinkan kolom dengan nama yang berbeda untuk disatukan.
Ini akan mengizinkan kolom yang tidak mempunyai jenis data yang cocok untuk digabungkan.
Join akan menampilkan baris yang tidak memenuhi ketentuan join.
Anda harus menggabungkan tabel EMPLOYEE_HIST dan EMPLOYESS. Tabel EMPLOYEE_HIST akan menjadi tabel pertama dalam klausa FROM. Semua baris yang cocok maupun tidak cocok dalam tabel EMPLOYEE harus ditampilkan. Jenis join manakah yang akan Anda gunakan?
Inner join
Right outer join
Cross join
Left outer join
Manakah dua rangkaian kata kunci join yang membuat join yang mencakup baris tanpa kecocokan dari tabel pertama yang ditetapkan dalam pernyataan SELECT?
RIGHT OUTER JOIN dan LEFT OUTER JOIN
LEFT OUTER JOIN dan FULL OUTER JOIN
USING dan HAVING
OUTER JOIN dan USING
Kueri hierarkis HARUS menggunakan kolom pseudo LEVEL. Benar atau Salah?
TRUE
FALSE
Kata kunci mana dalam pernyataan SELECT yang membuat equijoin dengan menentukan nama kolom yang umum ada di kedua tabel?
Klausa SELECT
Klausa USING
Klausa HAVING
Klausa FROM
Berikut ini adalah pernyataan SQL yang valid.
SELECT employees.employee_id, employees.last_name, departments.location_id, department_id
FROM employees JOIN departments
USING (department_id) ;
Benar atau Salah?
TRUE
FALSE
Manakah pernyataan select yang akan menghasilkan nama belakang dan tanggal bergabung karyawan dan manajernya untuk karyawan yang mulai bekerja di perusahaan sebelum manajernya?
SELECT worker.last_name, worker.hire_date, manager.last_name, manager.hire_date
FROM employees worker JOIN employees manager
ON worker.manager_id = manager.employee_id
WHERE worker.hire_date < manager.hire_date
SELECT worker.last_name, worker.hire_date, manager.last_name, manager.hire_date
FROM employees worker JOIN employees worker
ON worker.manager_id = worker.employee_id
WHERE worker.hire_date < worker.hire_date
SELECT worker.last_name, worker.hire_date, manager.last_name, manager.hire_date
FROM employees worker JOIN employees manager
ON worker.manager_id = manager.employee_id
WHERE worker.hire_date > manager.hire_date
SELECT worker.last_name, worker.hire_date, manager.last_name, manager.hire_date
FROM employees worker JOIN employees manager
ON worker.manager_id != manager.employee_id
WHERE worker.hire_date < manager.hire_date
Pernyataan SELECT manakah yang akan menerapkan self join?
SELECT item.part_id, type.product_id
FROM part item JOIN product type
ON item.part_id = type.product_id;
SELECT item.part_id, type.product_id
FROM part item JOIN product type
ON item.part_id = type.product_id (+);
SELECT item.part_id, type.product_id
FROM part item JOIN product type
ON item.part_id =! type.product_id;
SELECT item.part_id, type.product_id
FROM part item JOIN part type
ON item.part_id = type.product_id;
Jika Anda memilih baris dari dua tabel (karyawan dan departemen) menggunakan outer join yang ditentukan dalam contoh tersebut, apa yang akan Anda peroleh?
SELECT employees.last_name, employees.department_id, departments.department_name
FROM employees
LEFT OUTER JOIN departments
ON (employees.department_id = departments.department_id);
Semua karyawan yang tidak memiliki departement_id yang ditugaskan kepada mereka
Semua karyawan termasuk mereka yang tidak memiliki department_id yang ditugaskan kepada mereka
Tidak ada karyawan karena pernyataan ini akan gagal
Tidak satu pun di atas
Anda harus menggabungkan semua baris dalam tabel EMPLOYEES ke semua baris dalam tabel EMP_REFERENCE. Jenis join yang seharusnya Anda buat?
Cross join
Natural join
Inner join
Full outer join
Pernyataan manakah tentang natural join yang benar?
Kolom dengan nama yang sama harus memiliki jenis data yang kompatibel.
Kolom dengan nama yang sama tidak boleh memiliki tipe data yang identik.
Kolom dengan nama yang sama tidak dapat disertakan dalam daftar SELECT dari kueri.
Kolom dengan nama yang sama harus memiliki tipe data yang sama.
Di bawah ini, temukan struktur tabel PRODUCTS dan VENDORS:
PRODUCTS
PRODUCT_ID NUMBER
PRODUCT_NAME VARCHAR2 (25)
VENDOR_ID NUMBER
CATEGORY_ID NUMBER
VENDORS
VENDOR_ID NUMBER
VENDOR_NAME VARCHAR2 (25)
ADDRESS VARCHAR2 (30)
CITY VARCHAR2 (25)
REGION VARCHAR2 (10)
POSTAL_CODE VARCHAR2 (11)
Anda ingin membuat kueri yang akan menghasilkan daftar alfabetis produk, termasuk nama produk dan nama vendor terkait, untuk semua produk yang ditugaskan vendor.
Dua kueri apa yang dapat Anda gunakan?
SELECT products.product_name, vendors.vendor_name
FROM products
LEFT OUTER JOIN vendors
ON products.vendor_id = vendors.vendor_id
ORDER BY products.product_name;
SELECT products.product_name, vendors.vendor_name
FROM products
JOIN vendors
ON (vendor_id)
ORDER BY products.product_name;
SELECT products.product_name, vendors.vendor_name
FROM products
JOIN vendors
USING (products.vendor_id)
ORDER BY products.product_name;
SELECT products.product_name, vendors.vendor_name
FROM products
NATURAL JOIN vendors
ORDER BY products.product_name;
SELECT products.product_name, vendors.vendor_name
FROM products
JOIN vendors
USING (vendor_id)
ORDER BY products.product_name;
Anda dapat melakukan non-equijoin dengan ANSI-Syntax. Benar atau Salah?
TRUE
FALSE
Anda membuat tabel CUSTOMERS dan ORDERS dengan menerbitkan pernyataan CREATE TABLE secara berurutan:
CREATE TABLE customers
(custid varchar2(5),
companyname varchar2(30),
contactname varchar2(30),
address varchar2(30),
city varchar2(20),
state varchar2(30),
phone varchar2(20),
constraint pk_customers_01 primary key (custid));
CREATE TABLE orders
(orderid varchar2(5) constraint pk_orders_01 primary key,
orderdate date,
total number(15),
custid varchar2(5) references customers (custid));
Anda telah diinstruksikan untuk mengompilasi laporan untuk menyajikan informasi mengenai pesanan yang dibuat oleh pelanggan yang tinggal di Nashville. Kueri apa yang seharusnya Anda terbitkan untuk mencapai hasil yang diinginkan?
SELECT orderid, orderdate, total
FROM orders
NATURAL JOIN customers ON orders.custid = customers.custid
WHERE city = 'Nashville';
SELECT orderid, orderdate, total
FROM orders
WHERE city = 'Nashville';
SELECT custid, companyname
FROM customers
WHERE city = 'Nashville';
SELECT orderid, orderdate, total
FROM orders
JOIN customers ON orders.custid = customers.custid
WHERE city = 'Nashville';
NATURAL JOIN didasarkan pada:
Kolom dengan nama yang sama
Tabel dengan struktur yang sama
Kolom dengan jenis data dan lebar yang sama
Kolom dengan nama dan jenis data yang sama
Kueri mana yang akan mengambil seluruh baris di tabel EMPLOYESS, bahkan jika tidak ada kecocokan dalam tabel DEPARTMENTS?
SELECT employees.last_name, employees.department_id, departments.department_name
FROM employees
LEFT OUTER JOIN departments ON (employees.department_id = departments.department_id);
SELECT employees.last_name, employees.department_id, departments.department_name
FROM employees
NATURAL JOIN departments ;
SELECT employees.last_name, employees.department_id, departments.department_name
FROM employees
JOIN departments USING (employees.department_id = departments.department_id);
SELECT employees.last_name, employees.department_id, departments.department_name
FROM employees
RIGHT OUTER JOIN departments ON (employees.department_id = departments.department_id);
Mengingat deskripsi karyawan dan tabel pekerjaan berikut, skrip manakah dari berikut ini yang akan menampilkan gaji minimal dan maksimal karyawan berdasarkan jabatan mereka?
EMPLOYEES Table:
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)
JOBS Table:
Name Null? Type
JOB_ID NOT NULL VARCHAR2 (10)
JOB_TITLE NOT NULL VARCHAR2 (35)
MIN_SALARY NUMBER (6)
MAX_SALARY NUMBER (6)
SELECT first_name, last_name, job_id, min_salary, max_salary
FROM employees
FULL JOIN jobs (job_id);
SELECT employees.first_name, employees.last_name, employees.job_id, jobs.min_salary, jobs.max_salary
FROM employees
NATURAL JOIN jobs ON (employees.job_title = jobs.job_title);
SELECT employees.first_name, employees.last_name, employees.job_id, jobs.min_salary, jobs.max_salary
FROM employees
NATURAL JOIN jobs;
SELECT employees.first_name, employees.last_name, e.job_id, jobs.min_salary, jobs.max_salary
FROM employees
NATURAL JOIN jobs
USING (job_id);
SELECT first_name, last_name, job_id, min_salary, max_salary
FROM employees
NATURAL JOIN jobs;
Untuk manakah dari tabel berikut semua nilai akan diambil bahkan meskipun tidak ada kecocokan dalam tabel lainnya?
SELECT employees.last_name, employees.department_id, departments.department_name
FROM employees
LEFT OUTER JOIN departments
ON (employees.department_id = departments.department_id);
employees
Keduanya
department
Tidak satu pun. LEFT OUTER JOIN membatasi nilai id departemen yang cocok.
Tabel EMPLOYESS:
Name Null? Type
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
DEPARTMENT_ID NUMBER (4)
DEPARTMENTS Table:
Name Null? Type
DEPARTMENT_ID NOT NULL NUMBER 4
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER (6)
Kueri diperlukan untuk menampilkan setiap departemen dan nama manajernya dari tabel di atas. Akan tetapi, tidak semua departemen memiliki manajer, namun kita ingin ingin departemen dihasilkan dalam semua kasus. Manakah dari skrip sintaks SQL: 1999 berikut yang akan menyelesaikan tugas?
SELECT departments.department_id, employees.first_name, employees.last_name
FROM employees
RIGHT OUTER JOIN departments
ON (employees.employee_id = departments.manager_id);
SELECT departments.department_id, employees.first_name, employees.last_name
FROM employees, departments
WHERE employees.employee_id
RIGHT OUTER JOIN departments.manager_id;
SELECT departments.department_id, employees.first_name, employees.last_name
FROM employees
LEFT OUTER JOIN departments
WHERE (employees.department_id = departments.department_id);
SELECT departments.department_id, employees.first_name, employees.last_name
FROM employees
FULL OUTER JOIN departments
ON (employees.employee_id = departments.manager_id);
Pernyataan SELECT manakah yang akan menerapkan self join?
SELECT worker.employee_id, manager.manager_id
FROM employees worker
NATURAL JOIN employees manager;
SELECT worker.employee_id, manager.manager_id
FROM employees worker JOIN employees manager
ON manager.employee_id = worker.manager_id;
SELECT worker.employee_id, manager.manager_id
FROM employees worker JOIN managers manager
ON worker.employee_id = manager.manager_id;
SELECT worker.employee_id, manager.manager_id
FROM employees worker JOIN departments manager
ON worker.employee_id = manager.manager_id;
Kata kunci JOIN _____________ harus digunakan untuk menggabungkan tabel dengan nama kolom yang sama, namun jenis data yang berbeda.
OVER
WHEN
USING
NATURAL ON
Manakah dari pernyataan berikut yang merupakan deskripsi paling sederhana dari non-equijoin?
Kondisi join yang mencakup (+) di sisi kiri
Kondisi join yang berisi sesuatu selain operator pengualifikasi
Join yang menggabungkan tabel ke dirinya sendiri
Kondisi join bergabung yang tidak setara dengan join lain
Dalam kondisi apa Anda menggunakan kueri equijoin dengan kata kunci USING?
Tabel CUSTOMER dan ORDER memiliki kolom yang sesuai, CUST_ID. Kolom CUST_ID pada tabel ORDER berisi nilai nihil yang perlu ditampilkan.
Tabel ORDER berisi kolom yang memiliki constraint referensial ke kolom dalam tabel PRODUCT.
Anda harus melakukan join tabel CUSTOMER dan ORDER, namun membatasi jumlah kolom dalam ketentuan join.
Tabel CUSTOMER dan ORDER tidak memiliki kolom dengan nama serupa.
Itulah artikel Section 6 Quiz Database Programming with SQL Oracle Bahasa Indonesia kali ini, semoga bermanfaat.
Posting Komentar untuk "Section 6 Quiz Database Programming with SQL Oracle Bahasa Indonesia"