SQL Flashcards
Wofür gibt es die Structured Query Language?
Die Structured Query Language ist eine deklarative Sprache, die die Kommunikation mit Datenbankmanagementsystemen wesentlich erleichtert.
Was sind die Basis Operationen die mit SQL durchgeführt werden?
CRUD - Create, Read, Update, Delete
Die SQL lässt sich in vier Teile unterglierdern, nenne diese:
- Data Manipulation Languagemit (DML) dem Subset Data Query Language (DQL)
- Data Definition Language (DDL)
- Data Control Language
- Transaction Control Language
Welche Funktion erfüllt die DML?
Die Data Manipulation Language ist für das Erstellen, Abfragen, Ändern und Löschen von Daten zuständig (CRUD)
Welche Funktion erfüllt die DDL?
Die Data Definition Language ist zuständig für das erstellen und Verwalten von Datenbanken.
Außerdem werden mittels der DDL Primärschlüssel definiert
Welche Funktion erfüllt die DCL?
Die Data Control Language dient zur Rechte- und Zugriffsverwaltung von Datenbanken
Welche Funktion erfüllt die TCL?
Die Transaction Control Language hat den Sinn Transaktionen in der Datenbank zu kontrollieren und somit die Intigrität der Datenbank zu gewährleisten
Was ist eine Query
Eine Abfrage ist eine Anweisung an das DBMS um bestimmte Daten einer Datenbank zu erfragen.
Wie erstellt man mit SQL eine neue Datenbank?
CREATE DATABASE database_name
Was ist die Syntax um eine Tabelle namens test mit einer Id-Spalte als Primary Key und einer Namen-Spalte zu erstellen?
CREATE TABLE test)
id INT PRIMARY KEY,
name VARCHAR(64)
);
Wie kann man sich alle Spalten einer Tabelle anzeigen lassen?
DESCRIBE table_name;
oder
SHOW COLUMNS FROM table_name;
Füge eine Spalte namens ‘durchschnitt’ in die Tabelle ‘test’ ein. Die Zahl soll 3 Stellen haben, zwei davon nach dem Komma.
ALTER TABLE test ADD durchschnitt DECIMAL(3,2);
Mit welchem Befehl entfernt man eine Tabelle?
DROP TABLE table_name;
Was ist der Befehl um alle Werte einer Tabelle zu bekommen?
SELECT * FROM table_name;
Welcher Befehl wird benutzt um Datensätze in eine Tabelle hinzuzufügen?
INSERT INTO table_name VALUES( werte in der richtigen Reihenfolge der Spalten);
Füge einer Tabelle namens ‘test’ mit den Spalten id(INT), name(VARCHAR) und fach(VARCHAR) beliebige Werte hinzu.
INSERT INTO test VALUES (1337, “Josef”, “Informatik”);
Füge einer Tabelle namens ‘test’ mit den Spalten id(INT), name(VARCHAR) und fach(VARCHAR) nur Werte für id und name hinzu.
INSERT INTO test(id, name) VALUES(1337, “Josef”);
Mit welchem Befehl kann man Spalteneinträge ändern?
UPDATE table_name
SET spalte = neuer_wert
WHERE spalte = alter_wert;
Welche Operatoren gibt es um Konditionen in Abfragen zu verknüpfen?
, <=, >=, =, <>, AND, OR
Für was gibt es Funktionen in der SQL?
Mittels Funktionen lassen sich Werte bereits bearbeitet ausgeben.
Wie lautet die Funktion um einen Durchschnitt aller Werte auszugeben?
AVG
e.g.
SELECT AVG(salary) FROM employee WHERE sex=”F”;;
Wie lautet die Funktion um die Summe aller Werte auszugeben?
SUM
e.g.
SELECT SUM(salary) FROM employee;
Wie lautet die Funktion um die Gesamtanzahl an Werten zu erhalten?
COUNT
e.g.
SELECT COUNT(emp_id) FROM employee WHERE sex=”F” AND birth_day > “1971-01-31”;
Was sind Wildcards in der SQL?
Wildcards werden benutzt um komplexere Queries zu erstellen. Oft weiß man nur gewisse Teile eines Names, oder sucht in Strings nach einem bestimmten Substring, hierfür werden Wildcards benutzt.
Was bedeutet % und _ in der SQL?
Durch % wird eine beliebige Anzahl an Zeichen erstetzt, durch beliebige Zeichen ersetzt.
Durch _ wird ein einzelnes Zeichen ersetzt.
e.g.
SELECT*
FROMcompanies
WHEREcompany_nameLIKE”%Heizung%”;
Firma die Heizung im Namen hat
SELECT*
FROMemployee
WHEREbirth_dayLIKE”____-02%”;
Angestellter der im Februar Geburtstag hat, in einem beliebigen Jahr und an einem beliebigen Tag.
Was ist ein JOIN?
Ein Join dient dazu zwei Tabellen miteinander zu verknüpfen.
Wichtig dabei ist, dass beide Tabellen über das gleiche Attribut verfügen.
Welche Arten von JOIN gibt es?
Inner Join
Left Join
Right Join
Full outer Join
Was sind Nested Queries?
Bei nested Queries sucht man Werte in einer Query.
e.g.
Find names of all employees who have sold over 30000 to a single client
SELECTemployee.first_name,employee.last_name
FROMemployee
WHEREemployee.emp_idIN(SELECTworks_with.emp_id
FROMworks_with
WHEREworks_with.total_sales>30000);
Welche numerischen Datentypen gibt es unter anderem in SQL?
BIT(size) BOOLEAN INT(size) FLOAT(size,d) DOUBLE(size,d) DECIMAL(size,d)
Welche Zeit und Datum Datentypen gibt es?
TIME
DATE
DATETIME
Welche String Datentypen gibt es unter anderem?
CHAR(size)
VARCHAR(size)
BLOB(size)