Tag 7: Advance SQL für Data Science

Jan 27 2023
Bisher ist dies der siebte Blog auf dem Weg von den Grundlagen zur Weiterentwicklung von SQL. Sie können auf frühere Blogs zurückgreifen, um SQL von Grund auf zu lernen. Dieser Blog enthält gute Kenntnisse über Ansichten, Funktionen und gespeicherte Prozeduren.

Bisher ist dies der siebte Blog auf dem Weg von den Grundlagen zur Weiterentwicklung von SQL. Sie können auf frühere Blogs zurückgreifen, um SQL von Grund auf zu lernen. Dieser Blog enthält gute Kenntnisse über Ansichten, Funktionen und gespeicherte Prozeduren.

ANSICHTEN

Eine Ansicht ist eigentlich ein virtueller tabellenbasierter Ansatz als Ergebnismenge für eine SQL-Anweisung. Es können mehrere Tabellen vorhanden sein, d. h. die maximale Anzahl an Tabellenquellen, die in einer einzigen Abfrage verknüpft werden können, beträgt 256 .

Eine Ansicht enthält Zeilen und Spalten, genau wie eine Tabelle in der Datenbank. Die Felder in einer Ansicht sind Felder aus einer oder mehreren Tabellen.

Warum brauchen wir Ansichten?

Ansichten werden aus Sicherheitsgründen verwendet, da sie den Namen der Tabelle kapseln . Die Daten befinden sich in der virtuellen Tabelle und werden nicht dauerhaft gespeichert. Ansichten zeigen nur ausgewählte Daten an, unabhängig davon, welche Daten Sie benötigen.

Wir können die Klausel Joins/function/sql in Ansichten verwenden.

Syntax zum Erstellen einer Ansicht:

CREATE VIEW Ansichtsname AS
SELECT Spalte1 , Spalte2 , … FROM Tabellenname WHERE Bedingung ;

Create View Salesman_info
As
select s.salesmanid,s.city, count(customerid) no_of_sales from salesman s 
left join customer c on c.salesmanid = s.salesmanid
group by 1;

      
                

Syntax zum Aktualisieren einer Ansicht:

CREATE OR REPLACE VIEW view_name AS
SELECT Column1 , Column2 , … FROM Table_name WHERE Condition ;

Syntax zum Löschen einer Ansicht:

DROP VIEW view_name ;

Eine Ansicht bietet mehrere Vorteile.

  1. Ansichten können Komplexität verbergen.
  2. Ansichten können als Sicherheitsmechanismus verwendet werden.
  3. Ansichten können die Unterstützung von Legacy-Code vereinfachen.

Integrierte Funktionen : Es gibt viele integrierte Funktionen, mit denen wir je nach Bedarf auf unsere Daten zugreifen oder sie bearbeiten können. Einige der Funktionen sind String-Funktionen, mathematische/numerische Funktionen, Datumsfunktionen, Advance-Funktionen oder Aggregatfunktionen.

Benutzerdefinierte Funktion : Mit SQL können Benutzer benutzerdefinierte Funktionen entsprechend ihren genauen Anforderungen erstellen.

Es gibt drei Arten von benutzerdefinierten Funktionen:

  1. Skalare Funktionen geben beispielsweise einen einzelnen Wert zurück.
  2. Tabellenwertfunktionen geben beispielsweise einen Tabellensatz zurück.
  3. Funktionen mit mehreren Tabellenwerten geben beispielsweise einen Tabellensatz zurück.

Hier habe ich eine Funktion zur Berechnung des Alters anhand des Geburtsdatums in MYSQL erstellt.

DELIMITER $$
CREATE FUNCTION Calculate_Age
(
 DOB date
)
RETURNS INT DETERMINISTIC
BEGIN
 RETURN YEAR(CURRENT_DATE()) - YEAR(DOB);
END$$
DELIMITER ;

      
                
Query :::: SELECT Calculate_Age(‘1988–02–29’) as DOB;

Gespeicherte Prozeduren : Eine gespeicherte Prozedur ist ein vorbereiteter SQL-Code, den Sie speichern können, sodass der Code immer wieder verwendet werden kann. Wenn Sie also eine SQL-Abfrage haben, die Sie immer wieder schreiben, speichern Sie sie als gespeicherte Prozedur und rufen Sie sie dann einfach auf, um sie auszuführen.

Syntax der gespeicherten Prozedur:

CREATE PROCEDURE procedure_name
AS
sql_statement
GO;

Führen Sie eine gespeicherte Prozedur aus

EXEC prozedurname ;

Warum verwenden wir eine gespeicherte Prozedur anstelle einer Funktion?

  1. Gespeicherte Prozeduren können null, einzelne und mehrere Werte zurückgeben.
  2. Gespeicherte Prozeduren können bei Bedarf mithilfe mehrerer SQL-Abfragen auch einen Datensatz mit Tabellen zurückgeben.
  3. Wir können eine Funktion in einer gespeicherten Prozedur aufrufen.
  4. Gespeicherte Prozeduren können Eingabe-/Ausgabewerte und Parameter haben.
  5. Wir können die Anweisung „select/where/having“ nicht mit SPs verwenden.
  6. Wir können Einfügen/Aktualisieren/Löschen verwenden und in einer gespeicherten Prozedur auswählen.
  7. Eine gespeicherte SQL-Prozedur kann dynamisches SQL ausführen.
  8. DELIMITER $$
    CREATE PROCEDURE Proc_Saleman_Info_Data()
    BEGIN
     ## Type 1
        select s.salesmanid,s.city, count(customerid) no_of_sales from salesman s 
     left join customer c on c.salesmanid = s.salesmanid
     group by 1;
        
        ## Type 2
        insert into salesman
     values(5008,'Shikha rawat','India',12);
        
    END$$
    DELIMITER ;
    

    call Proc_Saleman_Info_Data();
    

Beliebte Interviewfragen für Ansichten/Funktionen/Gespeicherte Prozeduren.

Frage 1: Was sind Ansichten?

Frage 2: Wie viele Tabellen können wir in Ansichten verwenden?

Frage 3: Unterschied zwischen Funktion und gespeicherter Prozedur?

Vielen Dank, dass Sie es gelesen haben. Wenn es Ihnen gefällt, vergessen Sie nicht zu klatschen!

Einen schönen Tag noch!.

============================DAS ENDE=================== =======

GitHub: Sitzung Tag 7

Bitte geben Sie ihm einen Stern auf Git Hub!!

Referenz :

  1. https://www.w3schools.com/sql/default.asp
  2. https://www.geeksforgeeks.org/

Folgen Sie mir für weitere Beiträge zum Thema Data Science!

Lassen Sie uns auf LinkedIn vernetzen !