view, cte, abgeleitete, ... Flashcards

1
Q

drei verschiedene Groupierung

A

1- GROUP BY GROUPING SETS
( (aufgabe, pr_nr), (aufgabe), (pr_nr), ( ) );
2- GROUP BY CUBE(aufgabe, pr_nr);
3. GROUP BY ROLLUP (aufgabe, pr_nr);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

FUNCTION

(erstellen, löschen, aufrufen)

A

DROP FUNCTION test

CREATE FUNCTION test (@Jahr INT)
RETURNS TABLE
AS
RETURN (
SELECT
YEAR(a.einst_dat) as Jahr,
COUNT(m.m_nr) AS anzahl
FROM Arbeiten a
JOIN …..
WHERE YEAR(a.einst_dat) = @Jahr
GROUP BY YEAR(a.einst_dat)
);

SELECT * FROM test (2013)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

nur erste zwei Buchstaben von einer Spallte anzeigen

A

SELECT LEFT(m_nr,2) FROM Projekt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

PIVOT

A

SELECT *
FROM
(SELECT aufgabe, pr_nr, m_nr FROM Arbeiten) AS x
pivot (
COUNT(m_nr) FOR pr_nr
IN ([p1], [p2], [p3])
) AS xx;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Beispiel abgeleitete Tabelle

A

SELECT …
count(*) as Anzahl
FROM (
SELECT …. FROM …..
JOIN …. WHERE….
) AS xxx
GROUP BY …..

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Fenster Funktion

Vergleich heutige Umsatz und Durchschnitt Umsatz in den letzten 3 Tagen (also heute + 2 Tage vorher)

A

SELECT tag, umsatz,
AVG(umsatz) OVER(ORDER BY tag ROWS 2 PRECEDING)
AS durchschnit3tag
FROM umsatz;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Fenster Funktion

in jeden Tag Gesamtumsatz bis bisherigen Tag sehen zu können

A

SELECT tag, umsatz,
SUM(umsatz) OVER(ORDER BY tag) AS gesamtumsatz
FROM umsatz;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Fenster Funktion

Gesamtumsatz pro Projekt

A

SELECT pr_nr, umsatz,
SUM(umsatz) OVER (PARTITION BY pr_nr) AS gesamtProjekt
FROM umsatz

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Funktionen für die vorherige und nächste Zeile

A

LAG تاخیر, قبلی

LEAD

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Fenster Funktionen

heutige Umsatz für Projekt und Vergleich mit Umsatz für das Projekt gestern und morgen

A

SELECT date, pr_nr, umsatz,
LAG(umsatz) OVER (PARTITION BY pr_nr ORDER BY date) AS gestern_umsatz,
LEAD(umsatz) OVER (PARTITION BY pr_nr ORDER BY date) AS morgen_umsatz
FROM umsatz

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Beispiel CTE

A

WITH CTE AS (
SELECT …
FROM …
JOIN Mitarbeiter m ON m.m_nr = a.m_nr
WHERE …
)
SELECT …
count(*) as Anzahl
FROM CTE
GROUP BY ….;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Monat Differenz Ermitteln

A

SELECT DATEDIFF(Month, einst_dat, ‘2015-12-31’) as monatsdifferenz

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

view erstellen, löschen, aufrufen

A

CREATE VIEW v_test
with encryption, schemabinding
AS
SELECT … FROM …..

DROP VIEW v_test

SELECT * FROM v_test

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

view ändern

A

ALTER VIEW v_test
AS
SELECT …
FROM …..
JOIN ….

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

شماره بندی سطر ها بر اساس یک گروه دلخواه

A

select *,
ROW_NUMBER() over ( partition by pr-nr order by datum) as Row

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

daten von einer Tabelle in anderer einfügen

A

INSERT INTO Ziel (id, name, preis)

SELECT * FROM Quelle