Konsep SQL VIEW membantu menyembunyikan kesulitan catatan dan memberikan batasan untuk akses ke database.
Tampilan SQL mirip dengan tabel SQL. Dalam Tabel SQL, kami menyimpan seluruh data dalam baris dan kolom. Dengan cara yang sama, SQL View juga digunakan untuk menyimpan record dalam baris dan kolom, tetapi hanya data yang diinginkan pengguna, bukan data yang tidak perlu.
SQL VIEW adalah tabel virtual. SQL View memungkinkan mengakses hanya catatan kolom tertentu daripada seluruh data tabel.
Kita dapat dengan mudah membuat tampilan dengan memilih satu atau lebih tabel menggunakan kata kunci CREATE VIEW. Kami juga dapat memperbarui dan menghapus tampilan.
Dalam keseluruhan artikel ini, kita akan memahami konsep view tentang cara membuat view, menghapus view, dan memperbarui view.
1 BUAT TAMPAK SQL:-
Dalam SQL, kita dapat dengan mudah membuat tampilan dengan menggunakan kata kunci CREATE VIEW. Kita dapat membuat Tampilan untuk tabel tunggal dan tabel kelipatan.
Sintaks untuk CREATE VIEW (Tabel Tunggal)
CREATE VIEW VIEW_NAME AS SELECT COLUMN_NAME1, COLUMN_NAME2 FROM TABLE_NAME WHERE CONDITION;
Sintaks di atas adalah untuk membuat tampilan dari satu tabel. Dalam sintaks di atas, VIEW_NAME adalah nama tampilan untuk membuat tampilan di SQL. Table_name adalah nama tabel dari mana kita akan memilih record tertentu, klausa WHERE adalah opsional dalam query SQL.
Sintaks untuk CREATE VIEW (Beberapa Tabel)
CREATE VIEW VIEW_NAME AS SELECT T1.COLUMN_NAME, T1.COLUMN_NAME2, T2.COLUMN_NAME1, T2.COLUMN_NAME2 FROM T1, T2 WHERE CONDITION;
Sintaks di atas adalah untuk membuat tampilan dari beberapa tabel. Dalam sintaks di atas, VIEW_NAME adalah nama tampilan untuk membuat tampilan di SQL. T1, T2 adalah nama tabel dari mana kita akan memilih catatan tertentu, klausa WHERE adalah opsional dalam query SQL.
Perhatikan tabel berikut beserta catatan yang diberikan.
Tabel 1:Emp
KARYAWAN | FIRST_NAME | LAST_NAME | GAJI | KOTA | DEPARTEMEN | MANAGERID |
1001 | VAIBHAVI | MISHRA | 65000 | PUNE | ORACLE | 1 |
1002 | VAIBHAV | SHARMA | 60000 | NOIDA | ORACLE | 1 |
1003 | NIKHIL | VANI | 50.000 | JAIPUR | FMW | 2 |
2001 | PRACHI | SHARMA | 55500 | CHANDIGARH | ORACLE | 1 |
2002 | BHAVESH | JAIN | 65500 | PUNE | FMW | 2 |
2003 | RUCHIKA | JAIN | 50.000 | MUMBAI | UJI | 4 |
3001 | PRANOTI | SHENDE | 55500 | PUNE | JAVA | 3 |
3002 | ANUJA | DIMANA | 50500 | JAIPUR | FMW | 2 |
3003 | DEEPAM | JAUHARI | 58500 | MUMBAI | JAVA | 3 |
4001 | RAJESH | BAIK | 60500 | MUMBAI | UJI | 4 |
Tabel 2:Manajer.
Pengelola | nama_manajer | manajer_departemen |
1 | Snehdeep Kaur | ORACLE |
2 | Kirti Kirtane | FMW |
3 | Abhishek Manish | JAVA |
4 | Anupam Mishra | UJI |
Contoh untuk CREATE VIEW dari satu tabel.
Contoh 1:Tulis kueri untuk membuat tampilan dengan Id Karyawan, Nama depan, Nama belakang, Gaji dari tabel Emp.
CREATE VIEW EMPLOYEE_VIEW AS SELECT EMPLOYEEID, CONCAT (FIRST_NAME, CONCAT (“ ”, LAST_NAME)) AS NAME, SALARY FROM EMP;
Dalam kueri di atas, kami membuat nama tampilan EMPLOYEE_VIEW dengan Id Karyawan, menggabungkan nama depan dan nama belakang sebagai Nama, Gaji dari Tabel Emp.
Kapanpun kita ingin melihat record dalam tabel, kita menggunakan query SELECT * FROM; dengan cara yang sama kita akan lakukan untuk tampilan, sebagai ganti nama tabel, kita akan menggunakan nama tampilan.
SELECT * FROM EMPLOYEE_VIEW;
Contoh 2:Tulis kueri untuk membuat tampilan dengan ID Manajer, Nama Manajer, dan Departemen dari Tabel Manajer.
CREATE VIEW MANAGER_VIEW AS SELECT MANAGERID, MANAGER_NAME, MANAGER_DEPARTMENT FROM MANAGER;
Dalam kueri di atas, kami membuat nama tampilan MANAGER_VIEW dengan ID Manajer, Nama Manajer, dan Departemen dari Tabel Manajer.
Kapanpun kita ingin melihat record dalam tabel, kita menggunakan query SELECT * FROM. Kami akan menggunakan nama tampilan. Demikian pula, kami akan melakukannya untuk tampilan alih-alih nama tabel.
SELECT * FROM MANAGER_VIEW;
Contoh 3:Tulis kueri untuk membuat tampilan dengan Id Karyawan, Nama depan, Nama belakang, Gaji, Kota karyawan yang gajinya lebih besar dari 54000 dan Kota termasuk Pune dan Mumbai dari tabel Emp.
CREATE VIEW EMPLOYEE_VIEW1 AS SELECT EMPLOYEEID, CONCAT (FIRST_NAME, CONCAT (“ ”, LAST_NAME)) AS NAME, SALARY, CITY FROM EMP WHERE SALARY > 54000 AND CITY IN (‘PUNE’, ‘MUMBAI’);
Dalam kueri di atas, kami membuat nama tampilan EMPLOYEE_VIEW1 dengan Id Karyawan, menggabungkan nama depan dan nama belakang sebagai Nama, Gaji, Kota dari karyawan yang gajinya lebih besar dari 54000 dan kami menggunakan operator AND dengan Kota termasuk Pune dan Mumbai dari Tabel Emp .
Kapanpun kita ingin melihat record dalam tabel, kita menggunakan query SELECT * FROM. Kami akan menggunakan nama tampilan. Demikian pula, kami akan melakukannya untuk tampilan alih-alih nama tabel.
SELECT * FROM EMPLOYEE_VIEW1;
Contoh 4:Tulis kueri untuk membuat tampilan dengan ID Manajer, Nama Manajer, dan Departemen dari manajer yang departemennya adalah 'Oracle' dan 'Java' dari Tabel Manajer.
CREATE VIEW MANAGER_VIEW1 AS SELECT MANAGERID, MANAGER_NAME, MANAGER_DEPARTMENT FROM MANAGER; WHERE MANAGER_DEPARTMENT IN (‘ORACLE’, ‘JAVA’);
Dalam kueri di atas, kami membuat nama tampilan MANAGER_VIEW dengan ID Manajer, Nama Manajer, dan Departemen dari para manajer yang departemennya adalah 'Oracle', dan 'Java' dari Tabel Manajer.
Kapanpun kita ingin melihat record dalam tabel, kita menggunakan query SELECT * FROM. Kami akan menggunakan nama tampilan. Demikian pula, kami akan melakukannya untuk tampilan alih-alih nama tabel.
SELECT * FROM MANAGER_VIEW1;
Semua contoh CREATE VIEW di atas berasal dari tabel tunggal. Contoh CREATE VIEW berikutnya adalah dari beberapa tabel.
Perhatikan tabel berikut beserta catatan yang diberikan.
Tabel 1:Emp
KARYAWAN | FIRST_NAME | LAST_NAME | GAJI | KOTA | DEPARTEMEN | MANAGERID |
1001 | VAIBHAVI | MISHRA | 65000 | PUNE | ORACLE | 1 |
1002 | VAIBHAV | SHARMA | 60000 | NOIDA | ORACLE | 1 |
1003 | NIKHIL | VANI | 50.000 | JAIPUR | FMW | 2 |
2001 | PRACHI | SHARMA | 55500 | CHANDIGARH | ORACLE | 1 |
2002 | BHAVESH | JAIN | 65500 | PUNE | FMW | 2 |
2003 | RUCHIKA | JAIN | 50.000 | MUMBAI | UJI | 4 |
3001 | PRANOTI | SHENDE | 55500 | PUNE | JAVA | 3 |
3002 | ANUJA | DIMANA | 50500 | JAIPUR | FMW | 2 |
3003 | DEEPAM | JAUHARI | 58500 | MUMBAI | JAVA | 3 |
4001 | RAJESH | BAIK | 60500 | MUMBAI | UJI | 4 |
Tabel 2:Manajer.
Pengelola | nama_manajer | manajer_departemen |
1 | Snehdeep Kaur | ORACLE |
2 | Kirti Kirtane | FMW |
3 | Abhishek Manish | JAVA |
4 | Anupam Mishra | UJI |
Contoh 1:Tulis query untuk membuat View dengan Employee id, Name, City, Manager Id, dan Manager Name dari Emp Table dan Manager Table.
CREATE VIEW EMP_MAN_VIEW AS SELECT EMP.EMPLOYEEID, CONCAT(EMP.FIRST_NAME, CONCAT(“ ”, EMP.LAST_NAME)) AS NAME, CITY, MANAGER.MANAGERID, MANAGER.MANAGER_NAME FROM EMP, MANAGER WHERE EMP.MANAGERID = MANAGER.MANAGERID;
Pada query di atas, kita membuat tampilan dengan Employee id, Name, City, Manager Id, dan Manager Name dari Emp Table dan Manager Table.
Kapanpun kita ingin melihat record dalam tabel, kita menggunakan query SELECT * FROM. Kami akan menggunakan nama tampilan. Demikian pula, kami akan melakukannya untuk tampilan alih-alih nama tabel.
SELECT * FROM EMP_MAN_VIEW;
2 UPDATE SQL VIEW:-
Pernyataan pembaruan memodifikasi tabel yang ada dan tampilan yang ada di SQL. Kita juga bisa menyisipkan data baru ke dalam tampilan yang ada di SQL. Dalam SQL, tampilan diubah hanya ketika kondisi yang diberikan di bawah ini terpenuhi. Jika salah satu kondisi yang diberikan tidak terpenuhi, kami tidak akan dapat mengubah tampilan.
- Kata kunci DISTINCT tidak boleh digunakan dalam pernyataan SELECT.
- Tampilan tidak boleh memiliki semua nilai NOT NULL.
- Tidak boleh menggunakan klausa ORDER BY dan klausa GROUP BY saat membuat tampilan dalam pernyataan SELECT.
- Jika tampilan yang dibuat berisi kolom dari tabel tunggal, maka kita diperbolehkan untuk mengubah tampilan tersebut. yaitu, penggunaan beberapa tabel dalam tampilan tidak diperbolehkan.
- Tampilan tidak boleh dibuat menggunakan subkueri atau menyertakan kueri kompleks
- Tampilan berisi fungsi agregat SQL apa pun; kami tidak diizinkan untuk mengubah tampilan yang ada.
Pernyataan CREATE OR REPLACE VIEW digunakan untuk menambahkan bidang baru atau menghapus bidang dari tampilan.
Sintaks:
CREATE OR REPLACE VIEW VIEW_NAME AS SELECT COLUMN_NAME1, COLUMN_NAME2 FROM TABLE_NAME WHERE CONDITION;
Contoh 1:Tulis kueri untuk memperbarui Employee_View dan menambahkan kolom Manager Id dari tabel Emp di tampilan.
CREATE OR REPLACE VIEW EMPLOYEE_VIEW AS SELECT EMPLOYEEID, CONCAT(FIRST_NAME,CONCAT(" ", LAST_NAME)) AS NAME, SALARY, MANAGERID FROM EMP WHERE DEPARTMENT IN ('ORACLE', 'FMW');
Query di atas memodifikasi Employee_view yang ada dan memodifikasi record berdasarkan query SELECT yang diberikan.
Kapanpun kita ingin melihat record dalam tabel, kita menggunakan query SELECT * FROM. Kami akan menggunakan nama tampilan. Demikian pula, kami akan melakukannya untuk tampilan alih-alih nama tabel.
SELECT * FROM EMPLOYEE_VIEW;
Contoh 2:Tulis kueri untuk memperbarui Manager_View.
CREATE OR REPLACE VIEW MANAGER_VIEW AS SELECT MANAGERID, MANAGER_NAME FROM MANAGER WHERE MANAGER_NAME LIKE ‘A%’;
Query di atas memodifikasi Employee_view yang ada dan memodifikasi record berdasarkan query SELECT yang diberikan.
Kapanpun kita ingin melihat record dalam tabel, kita menggunakan query SELECT * FROM. Kami akan menggunakan nama tampilan. Demikian pula, kami akan melakukannya untuk tampilan alih-alih nama tabel.
SELECT * FROM MANAGER_VIEW;
Memasukkan catatan baru ke tampilan yang ada
Kami memasukkan catatan baru ke dalam tabel. Dengan cara yang sama, kita juga dapat menyisipkannya ke tampilan.
Sintaks
INSERT INTO VIEW_NAME VALUES(VALUE1, VALUE2);
Contoh:tulis kueri untuk menyisipkan catatan baru ke dalam Manager_view.
INSERT INTO MANAGER_VIEW VALUES (5, ‘Akash Kadam’);
Saat kami memasukkan catatan baru ke dalam Manager_View. Untuk memeriksa apakah data baru dimasukkan atau tidak, kami akan menggunakan kueri SELECT:
SELECT * FROM MANAGER_VIEW;
3 TAMPILAN TERLEPAS:-
Kami menjatuhkan meja. Dengan cara yang sama, kita juga dapat menghapus tampilan.
Sintaks:
DROP VIEW VIEW_NAME;
Contoh:Tulis kueri untuk menghapus EMP_MAN_VIEW.
DROP VIEW EMP_MAN_VIEW;
Jika kita ingin memeriksa apakah suatu view dihapus atau tidak, kita akan menggunakan query SHOW TABLES.
SHOW TABLES;
Nama view EMP_MAN_VIEW tidak ada di database, artinya kita berhasil melepaskan view tersebut.