Database
 sql >> Datenbank >  >> RDS >> Database

SQL-ANSICHT

Das SQL VIEW-Konzept hilft dabei, die Schwierigkeit der Aufzeichnungen zu verbergen und bietet Beschränkungen für den Zugriff auf die Datenbank.

Die SQL-Ansicht ähnelt den SQL-Tabellen. In SQL-Tabellen speichern wir ganze Daten in Zeilen und Spalten. Auf die gleiche Weise wird SQL View auch verwendet, um Datensätze in Zeilen und Spalten zu speichern, aber nur die Daten, die der Benutzer will, keine unnötigen Daten.

SQL VIEW ist eine virtuelle Tabelle. Die SQL-Ansicht ermöglicht den Zugriff nur auf bestimmte Spaltendatensätze und nicht auf die gesamten Tabellendaten.

Wir können ganz einfach eine Ansicht erstellen, indem wir eine oder mehrere Tabellen mit dem Schlüsselwort CREATE VIEW auswählen. Wir können die Ansicht auch aktualisieren und löschen.

In diesem gesamten Artikel werden wir das Ansichtskonzept zum Erstellen einer Ansicht, zum Löschen einer Ansicht und zum Aktualisieren einer Ansicht verstehen.

1 SQL-ANSICHT ERSTELLEN:-

In SQL können wir ganz einfach eine Ansicht erstellen, indem wir das Schlüsselwort CREATE VIEW verwenden. Wir können eine Ansicht für die Einzeltabelle und die Mehrfachtabelle erstellen.

Die Syntax für CREATE VIEW (Single Table)

CREATE VIEW VIEW_NAME AS SELECT COLUMN_NAME1, COLUMN_NAME2 FROM TABLE_NAME WHERE CONDITION;    

Die obige Syntax dient zum Erstellen einer Ansicht aus einer einzelnen Tabelle. In der obigen Syntax ist VIEW_NAME der Name der Ansicht, um eine Ansicht in SQL zu erstellen. Table_name ist der Name der Tabelle, aus der wir bestimmte Datensätze auswählen, die WHERE-Klausel ist in der SQL-Abfrage optional.

Die Syntax für CREATE VIEW (Multiple Table)

CREATE VIEW VIEW_NAME AS SELECT T1.COLUMN_NAME, T1.COLUMN_NAME2, T2.COLUMN_NAME1, T2.COLUMN_NAME2 FROM T1, T2 WHERE CONDITION;

Die obige Syntax dient zum Erstellen einer Ansicht aus mehreren Tabellen. In der obigen Syntax ist VIEW_NAME der Name der Ansicht, um eine Ansicht in SQL zu erstellen. T1, T2 ist der Name der Tabellen, aus denen wir bestimmte Datensätze auswählen, die WHERE-Klausel ist in der SQL-Abfrage optional.

Betrachten Sie die folgenden Tabellen zusammen mit den angegebenen Datensätzen.

Tabelle 1:Emp

MITARBEITERID FIRST_NAME NACHNAME GEHALT STADT ABTEILUNG MANAGERID
1001 VAIBHAVI MISHRA 65000 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOIDA ORACLE 1
1003 NICHIL VANI 50000 JAIPUR FMW 2
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUSCHIKA JAIN 50000 MUMBAI TESTEN 4
3001 PRANOTI SCHENDE 55500 PUNE JAVA 3
3002 ANUJA WO 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH GOLD 60500 MUMBAI TESTEN 4

Tabelle 2:Manager.

Manager-ID manager_name manager_department
1 Snehdeep Kaur ORACLE
2 Kirti Kirtane FMW
3 Abhishek Manish JAVA
4 Anupam Mishra TESTEN

Beispiele zum ERSTELLEN EINER ANSICHT aus einer einzelnen Tabelle.

Beispiel 1:Schreiben Sie eine Abfrage, um eine Ansicht mit Mitarbeiter-ID, Vorname, Nachname, Gehalt aus der Emp-Tabelle zu erstellen.

CREATE VIEW EMPLOYEE_VIEW AS SELECT EMPLOYEEID, CONCAT (FIRST_NAME, CONCAT (“ ”, LAST_NAME)) AS NAME, SALARY FROM EMP;

In der obigen Abfrage haben wir einen Ansichtsnamen EMPLOYEE_VIEW mit Mitarbeiter-ID erstellt, Vor- und Nachnamen als Name verketten, Gehalt aus Emp-Tabelle.

Wann immer wir uns die Datensätze in der Tabelle ansehen wollen, verwenden wir die Abfrage SELECT * FROM; Genauso wie wir es für die Ansicht tun werden, verwenden wir anstelle des Tabellennamens den Ansichtsnamen.

SELECT * FROM EMPLOYEE_VIEW;

Beispiel 2:Schreiben Sie eine Abfrage, um eine Ansicht mit Manager-ID, Managername und Abteilung aus der Managertabelle zu erstellen.

CREATE VIEW MANAGER_VIEW AS SELECT MANAGERID, MANAGER_NAME, MANAGER_DEPARTMENT FROM MANAGER;

In der obigen Abfrage haben wir einen Ansichtsnamen MANAGER_VIEW mit Manager-ID, Managername und Abteilung aus der Managertabelle erstellt.

Wann immer wir uns die Datensätze in der Tabelle ansehen wollen, verwenden wir die Abfrage SELECT * FROM. Wir verwenden den Ansichtsnamen. In ähnlicher Weise werden wir anstelle des Tabellennamens für die Ansicht vorgehen.

SELECT * FROM MANAGER_VIEW;

Beispiel 3:Schreiben Sie eine Abfrage, um eine Ansicht mit Mitarbeiter-ID, Vorname, Nachname, Gehalt, Stadt der Mitarbeiter zu erstellen, deren Gehalt höher als 54000 ist, und Stadt, die Pune und Mumbai aus der Emp-Tabelle enthält.

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’);

In der obigen Abfrage haben wir einen Ansichtsnamen EMPLOYEE_VIEW1 mit Mitarbeiter-ID erstellt, Vor- und Nachnamen als Name, Gehalt und Stadt der Mitarbeiter verkettet, deren Gehalt größer als 54000 ist, und wir haben den UND-Operator mit Stadt verwendet, einschließlich Pune und Mumbai aus der Emp-Tabelle .

Wann immer wir uns die Datensätze in der Tabelle ansehen wollen, verwenden wir die Abfrage SELECT * FROM. Wir verwenden den Ansichtsnamen. In ähnlicher Weise werden wir anstelle des Tabellennamens für die Ansicht vorgehen.

SELECT * FROM EMPLOYEE_VIEW1;

Beispiel 4:Schreiben Sie eine Abfrage, um eine Ansicht mit Manager-ID, Managername und Abteilung der Manager zu erstellen, deren Abteilung „Oracle“ und „Java“ aus der Manager-Tabelle ist.

CREATE VIEW MANAGER_VIEW1 AS SELECT MANAGERID, MANAGER_NAME, MANAGER_DEPARTMENT FROM MANAGER; WHERE MANAGER_DEPARTMENT IN (‘ORACLE’, ‘JAVA’);

In der obigen Abfrage haben wir einen Ansichtsnamen MANAGER_VIEW mit Manager-ID, Managername und Abteilung der Manager erstellt, deren Abteilung „Oracle“ und „Java“ aus der Manager-Tabelle ist.

Wann immer wir uns die Datensätze in der Tabelle ansehen wollen, verwenden wir die Abfrage SELECT * FROM. Wir verwenden den Ansichtsnamen. In ähnlicher Weise werden wir anstelle des Tabellennamens für die Ansicht vorgehen.

SELECT * FROM MANAGER_VIEW1;

Alle obigen Beispiele für CREATE VIEW stammen aus einzelnen Tabellen. Das nächste Beispiel für CREATE VIEW bezieht sich auf mehrere Tabellen.

Betrachten Sie die folgenden Tabellen zusammen mit den angegebenen Datensätzen.

Tabelle 1:Emp

MITARBEITERID FIRST_NAME NACHNAME GEHALT STADT ABTEILUNG MANAGERID
1001 VAIBHAVI MISHRA 65000 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOIDA ORACLE 1
1003 NICHIL VANI 50000 JAIPUR FMW 2
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUSCHIKA JAIN 50000 MUMBAI TESTEN 4
3001 PRANOTI SCHENDE 55500 PUNE JAVA 3
3002 ANUJA WO 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH GOLD 60500 MUMBAI TESTEN 4

Tabelle 2:Manager.

Manager-ID manager_name manager_department
1 Snehdeep Kaur ORACLE
2 Kirti Kirtane FMW
3 Abhishek Manish JAVA
4 Anupam Mishra TESTEN

Beispiel 1:Schreiben Sie eine Abfrage, um eine Ansicht mit der Mitarbeiter-ID, dem Namen, der Stadt, der Manager-ID und dem Managernamen aus der Emp-Tabelle und der Manager-Tabelle zu erstellen.

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;   

In der obigen Abfrage haben wir eine Ansicht mit Mitarbeiter-ID, Name, Stadt, Manager-ID und Managername aus Emp-Tabelle und Manager-Tabelle erstellt.

Wann immer wir uns die Datensätze in der Tabelle ansehen wollen, verwenden wir die Abfrage SELECT * FROM. Wir verwenden den Ansichtsnamen. In ähnlicher Weise werden wir anstelle des Tabellennamens für die Ansicht vorgehen.

SELECT * FROM EMP_MAN_VIEW;

2 SQL-ANSICHT AKTUALISIEREN:-

Die Update-Anweisung ändert die vorhandene Tabelle und die vorhandene Ansicht in der SQL. Wir können auch neue Daten in die vorhandene Ansicht im SQL einfügen. In SQL wird eine Ansicht nur geändert, wenn die unten angegebenen Bedingungen erfüllt sind. Wenn eine der angegebenen Bedingungen nicht erfüllt ist, können wir die Ansicht nicht ändern.

  • Das Schlüsselwort DISTINCT sollte nicht in der SELECT-Anweisung verwendet werden.
  • Die Ansicht sollte nicht alle NOT NULL-Werte haben.
  • Sollte beim Erstellen einer Ansicht in der SELECT-Anweisung keine ORDER BY-Klausel und GROUP BY-Klausel verwenden.
  • Wenn die erstellte Ansicht Spalten aus der einzelnen Tabelle enthält, dürfen wir die Ansicht ändern. d.h. die Verwendung mehrerer Tabellen in der Ansicht ist nicht erlaubt.
  • Die Ansicht sollte nicht mit einer Unterabfrage erstellt werden oder komplexe Abfragen enthalten
  • Die Ansicht enthält alle SQL-Aggregatfunktionen; wir dürfen die bestehende Ansicht nicht verändern.

Die CREATE OR REPLACE VIEW-Anweisung wird verwendet, um neue Felder hinzuzufügen oder Felder aus der Ansicht zu entfernen.

Syntax: 

CREATE OR REPLACE VIEW VIEW_NAME AS SELECT COLUMN_NAME1, COLUMN_NAME2 FROM TABLE_NAME WHERE CONDITION;    

Beispiel 1:Schreiben Sie eine Abfrage, um Employee_View zu aktualisieren, und fügen Sie die Manager-ID-Spalte aus der Emp-Tabelle in der Ansicht hinzu.

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');

Die obige Abfrage ändert die vorhandene Employee_view und modifiziert die Datensätze basierend auf der gegebenen SELECT-Abfrage.

Wann immer wir uns die Datensätze in der Tabelle ansehen wollen, verwenden wir die Abfrage SELECT * FROM. Wir verwenden den Ansichtsnamen. In ähnlicher Weise werden wir anstelle des Tabellennamens für die Ansicht vorgehen.

SELECT * FROM EMPLOYEE_VIEW;

Beispiel 2:Schreiben Sie eine Abfrage, um die Manager_View zu aktualisieren.

CREATE OR REPLACE VIEW MANAGER_VIEW AS SELECT MANAGERID, MANAGER_NAME FROM MANAGER WHERE MANAGER_NAME LIKE ‘A%’;

Die obige Abfrage ändert die vorhandene Employee_view und modifiziert die Datensätze basierend auf der gegebenen SELECT-Abfrage.

Wann immer wir uns die Datensätze in der Tabelle ansehen wollen, verwenden wir die Abfrage SELECT * FROM. Wir verwenden den Ansichtsnamen. In ähnlicher Weise werden wir anstelle des Tabellennamens für die Ansicht vorgehen.

SELECT * FROM MANAGER_VIEW;

Einfügen eines neuen Datensatzes in die bestehende Ansicht

Wir fügen die neuen Datensätze in die Tabelle ein. Auf die gleiche Weise können wir es auch in die Ansicht einfügen.

Syntax

INSERT INTO VIEW_NAME VALUES(VALUE1, VALUE2);

Beispiel:Schreiben Sie eine Abfrage, um einen neuen Datensatz in die Manager_view einzufügen.

INSERT INTO MANAGER_VIEW VALUES (5, ‘Akash Kadam’);

Während wir neue Datensätze in Manager_View einfügen. Um zu überprüfen, ob neue Daten eingefügt wurden oder nicht, verwenden wir die SELECT-Abfrage:

SELECT * FROM MANAGER_VIEW; 

3 DROP-ANSICHT:-

Wir lassen den Tisch fallen. Auf die gleiche Weise können wir auch die Ansicht löschen.

Syntax:

DROP VIEW VIEW_NAME;

Beispiel:Schreiben Sie eine Abfrage, um EMP_MAN_VIEW.

zu löschen
DROP VIEW EMP_MAN_VIEW; 

Wenn wir überprüfen möchten, ob eine Ansicht gelöscht wurde oder nicht, verwenden wir die Abfrage SHOW TABLES.

SHOW TABLES;

Der Ansichtsname EMP_MAN_VIEW befindet sich nicht in der Datenbank, was bedeutet, dass wir die Ansicht erfolgreich gelöscht haben.