SQL Cheatsheet

Podstawowe polecenia i operacje SQL

Page content

Oto szczegółowy arkusz SQL obejmujący podstawowe polecenia i operacje:

sql w katedrze gotyckiej

Zapytania danych

Wybierz konkretne kolumny:

SELECT column1, column2 FROM table_name;

Wybierz wszystkie kolumny:

SELECT * FROM table_name;

Wybierz unikalne wartości:

SELECT DISTINCT column1, column2 FROM table_name;

Filtruj dane:

SELECT column1, column2 FROM table_name WHERE condition;

Sortuj dane:

SELECT column1, column2 FROM table_name ORDER BY column1 [ASC|DESC];

Modyfikacja danych

Wstaw wiersz:

INSERT INTO table_name (column1, column2) VALUES (value1, value2);

Zaktualizuj dane:

UPDATE table_name SET column1 = value1 WHERE condition;

Usuń dane:

DELETE FROM table_name WHERE condition;

Operacje na tabelach

Utwórz tabelę:

CREATE TABLE table_name (
    column1 datatype PRIMARY KEY,
    column2 datatype,
    column3 datatype
);

Zmodyfikuj tabelę:

ALTER TABLE table_name ADD column_name datatype;

Usuń tabelę:

DROP TABLE table_name;

Połączenia

Połączenie wewnętrzne:

SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;

Połączenie lewe:

SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;

Funkcje agregujące

Zlicz wiersze:

SELECT COUNT(*) FROM table_name;

Sumuj wartości:

SELECT SUM(column_name) FROM table_name;

Średnia wartości:

SELECT AVG(column_name) FROM table_name;

Grupuj:

SELECT column1, COUNT(*) FROM table_name GROUP BY column1;

Podzapytania

Podzapytanie w SELECT:

SELECT column1, (SELECT AVG(column2) FROM table2) AS avg_col2 FROM table1;

Podzapytanie w WHERE:

SELECT * FROM table1 WHERE column1 IN (SELECT column2 FROM table2);

Widoki

Utwórz widok:

CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;

Usuń widok:

DROP VIEW view_name;

Ten arkusz obejmuje najczęściej używane polecenia i operacje SQL.

Dzięki niemu można szybko odnosić się do zapytań, modyfikacji danych, operacji na tabelach, połączeń, funkcji agregujących, podzapytań i widoków.

Połączenie wewnętrzne vs. zewnętrzne

INNER JOIN i LEFT JOIN to dwa typowe rodzaje operacji łączenia w SQL, które różnią się sposobem łączenia danych z wielu tabel:

  1. INNER JOIN:

    • Zwraca tylko wiersze, w których występuje dopasowanie w obu tabelach na podstawie warunku łączenia.
    • Wyklucza wszystkie wiersze, które nie mają odpowiedniego dopasowania w drugiej tabeli.
    • Przydatne, gdy chcesz pobrać tylko dane, które występują w obu tabelach.
  2. LEFT JOIN (nazywany również LEFT OUTER JOIN):

    • Zwraca wszystkie wiersze z lewej tabeli oraz dopasowane wiersze z prawej tabeli.
    • Jeśli nie ma dopasowania w prawej tabeli, nadal zawiera wiersz z lewej tabeli i wypełnia wartości NULL dla kolumn z prawej tabeli.
    • Przydatne, gdy chcesz zobaczyć wszystkie rekordy z lewej tabeli, nawet jeśli nie mają odpowiednich danych w prawej tabeli.

Kluczowe różnice:

  1. Zestaw wyników:

    • INNER JOIN: Zwraca tylko dopasowane wiersze.
    • LEFT JOIN: Zwraca wszystkie wiersze z lewej tabeli oraz dopasowane wiersze z prawej tabeli.
  2. Wartości NULL:

    • INNER JOIN: Nie generuje wartości NULL dla niezgodnych wierszy.
    • LEFT JOIN: Generuje wartości NULL dla kolumn z prawej tabeli, gdy nie ma dopasowania.
  3. Przypadki użycia:

    • INNER JOIN: Gdy potrzebujesz danych, które występują w obu tabelach.
    • LEFT JOIN: Gdy potrzebujesz wszystkich danych z jednej tabeli oraz ewentualnie dopasowanych danych z drugiej.
  4. Kompletność danych:

    • INNER JOIN: Może wykluczyć dane, jeśli nie ma dopasowań.
    • LEFT JOIN: Zapewnia, że wszystkie dane z lewej tabeli są uwzględnione, dając bardziej kompletny widok danych z lewej tabeli.

Zrozumienie tych różnic pozwala wybrać odpowiedni typ połączenia w zależności od konkretnych potrzeb wyprowadzania danych i celów analizy.

Przydatne linki