SQL Flashcards
(43 cards)
SELECT
SELECT Spalte1, Spalte2 FROM Table;
WHERE
SELECT name FROM benutzer WHERE age > 18;
NULL/NOT NULL
SELECT name FROM benutzer WHERE email IS (NOT) NULL
INSERT INTO
INSERT INTO table(name, age) VALUES (‘Pedro’, 49);
INSERT ohne Spaltennamen
INSERT INTO benutzer VALUES (…);
DELETE
DELETE FROM Table WHERE id = 1;
update
UPDATE benutzer SET age = 50 WHERE name = ‘Pedro’;
create table
CREATE TABLE benutzer (id INT, name VARCHAR(50));
drop table
drop table benutzer;
Beschreibung: Löscht eine Tabelle und alle darin gespeicherten Daten dauerhaft
TO_CHAR
SELECT TO_CHAR(geburtsdatum, ‘DD/MM/YYYY’) FROM benutzer;
TO_CHAR aciklama
DD = Tag zweistellig
MM = Monat zweistellig
YY = Jahr zweistellig
YYYY = Jahr vierstellig
Day = Wochentag
Dy = Kurzname des Wochentags
Mon = Kurzname des Monats
Month = Monatsname vollständig
HH24 = Stunde (0 bis 23)
HH12 = Stunde (0 bis 12)
HH = Stunde (0 bis 12)
MI = Minute
SS = Sekunde
SSSSS = Sekunden seit Mitternacht
insert datumswert
insert into benutzer (geburtsdatum) values (date ‘2000-01-01’);
pflichtfelder mit not null
create table benutzer (name varchar(50) not null);
default
create table benutzer ( status varchar(10) DEFAULT ‘aktiv’);
check
create table benutzer (age int CHECK (age > 0));
check in
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
department VARCHAR(30) CHECK (department IN (‘HR’, ‘IT’, ‘Finance’, ‘Marketing’)),
status VARCHAR(10) CHECK (status IN (‘Active’, ‘Inactive’))
);
unique
CREATE TABLE benutzer (email VARCHAR(50) UNIQUE);
Beschreibung: stellt sicher, dass alle Werte in einer Spalte eindeutig sind
unique über mehrere Spalten
CREATE TABLE bestellungen (
benutzer_id INT,
produkt_id INT,
UNIQUE (benutzer_id, produkt_id));
alter table
ALTER TABLE benutzer ADD telefonnummer VARCHAR(15);
group by
SELECT abteilung COUNT (*) FROM mitarbeiter GROUP BY abteilung;
aciklama: count() her departmandaki toplam satir sayisini (calisan sayisini) sayar.
GROUP BY, abteilung sütunundaki benzersiz değerler için gruplar oluşturur.
Her departman (abteilung) bir grup olur ve COUNT() her grup için satırları (çalışanları) sayar.
coalesce
SELECT COALESCE (email, ‘kein_email@example.com’) FROM benutzer;
Beschreibung: ersetzt Nullwerte durch einen angegebenen Wert
views
syntax: CREATE VIEW Ansicht AS SELECT Spalten FROM Tabelle WHERE Bedingung;
BSP:
CREATE VIEW aktive_benutzer AS SELECT * FROM benutzer WHERE status = ‘aktiv’;
Beschreibung: Erstellt eine virtuelle Tabelle basierend auf einer Abfrage
update + join güncelleme
- aktualisieren basierend auf mehreren Tabellen
Bsp:
UPDATE employees SET salary = departments.budget * 0.1
FROM departments
WHERE employees.department_id = departments.id;
changing data v´with view
BSP:
CREATE OR REPLACE VIEW aktive_benutzer AS
SELECT id, name, status FROM benutzer WHERE status = ‘aktiv’;
UPDATE aktive_benutzer SET status = ‘inaktiv’ WHERE id = 1;
Beschreibung: Änderungen an einer View wirken sich direkt auf die zugrunde liegende Tabelle aus, solange die View basierend auf einfachen Abfragen definiert ist.