Ściągawka SQL: Szybki przewodnik po podstawowych poleceniach

Ściągawka SQL: Szybki przewodnik po podstawowych poleceniach

Jako programista lub analityk danych często pracujesz z dużymi ilościami danych. Jednym z najpotężniejszych narzędzi do Twojej dyspozycji jest SQL (Structured Query Language).

Ta ściągawka SQL przedstawia najczęstsze obiekty i polecenia SQL, w tym typy danych, instrukcje DML i DDL, funkcje agregujące, funkcje ciągów i dat oraz zapytania podrzędne.

Został zaprojektowany jako szybkie i przydatne odniesienie, do którego można sięgnąć za każdym razem, gdy wchodzisz w interakcję z relacyjną bazą danych.

Jeśli jesteś podobny do nas i chcesz pobrać i wydrukować lub przechowywać ściągawkę na swoim komputerze, możesz ją pobrać poniżej.

Pobierz ściągawkę SQL

Spis treści

Typy danych SQL

Ściągawka SQL: Szybki przewodnik po podstawowych poleceniach

Typy danych dla określonych systemów zarządzania bazami danych (DBMS) mogą się różnić (np. Microsoft SQL Server vs MySQL ). Istnieje jednak kilka, które można znaleźć w większości systemów. Możesz podzielić je na trzy kategorie:

  1. Numeryczne

  2. Data i godzina

  3. Strunowy

1. Typy liczbowe

Oto najczęstsze typy liczbowe:

  • INTEGER : Liczba całkowita bez kropki dziesiętnej.

  • SMALLINT : Mniejszy zakres liczb całkowitych

  • BIGINT : Większy zakres liczb całkowitych.

  • DZIESIĘTNE(p, s) lub LICZBOWE(p, s) : Na przykład liczba dziesiętna(5,2) pasuje do 123,45.

  • REAL : liczba zmiennoprzecinkowa z dokładnością do co najmniej 6 cyfr dziesiętnych.

  • FLOAT(n) : Liczba zmiennoprzecinkowa o dokładności co najmniej n cyfr.

2. Typy daty i czasu

  • DATA : wartość daty, zwykle w formacie „RRRR-MM-DD”.

  • CZAS : wartość czasu, zwykle w formacie „GG:MM:SS”.

  • DATETIME lub TIMESTAMP : Kombinacja wartości daty i godziny.

3. Typy strun

  • CHAR(n) : Ciąg o stałej długości z n znakami.

  • VARCHAR(n) lub CHARACTER VARYING(n) : Łańcuch o zmiennej długości.

  • TEXT : Łańcuch o zmiennej długości, którego maksymalna długość jest określona przez DBMS.

WYBIERZ oświadczenie

Ściągawka SQL: Szybki przewodnik po podstawowych poleceniach

Instrukcja SELECT służy do pobierania danych z jednej lub wielu tabel. Możesz określić kolumny, które chcesz pobrać i z której tabeli. Podstawowa instrukcja SELECT wygląda następująco:

SELECT column1, column2
FROM table;

Aby pobrać wszystkie rekordy z kolumn „nazwa” i „identyfikator_kraju” z tabeli „miasto”, zapytanie SQL wygląda następująco:

SELECT name, country_id
FROM city;

GDZIE Klauzula

Ściągawka SQL: Szybki przewodnik po podstawowych poleceniach

Klauzula WHERE umożliwia filtrowanie wyników instrukcji SELECT na podstawie określonych warunków.

SELECT column1, column2
FROM table
WHERE condition;

Aby pobrać rekordy z tabeli „miasto”, w których „populacja” jest większa niż 1 000 000, zapytanie wygląda następująco:

SELECT name, population
FROM city
WHERE population > 1000000;

Klauzula ORDER BY

Klauzula ORDER BY umożliwia sortowanie wyników instrukcji SELECT według jednej lub kilku kolumn. Wyniki można sortować rosnąco (ASC) lub malejąco (DESC):

SELECT column1, column2
FROM table
ORDER BY column1 ASC, column2 DESC;

Na przykład, aby pobrać rekordy z tabeli „miasta” posortowane według „populacji” w kolejności malejącej, zapytanie wygląda następująco:

SELECT name, population
FROM city
ORDER BY population DESC;

Łączenie wielu tabel w SQL

Ściągawka SQL: Szybki przewodnik po podstawowych poleceniach

Istnieją cztery powszechnie używane sprzężenia w SQL:

  1. POŁĄCZENIE WEWNĘTRZNE

  2. LEWY DOŁĄCZ

  3. PRAWO DOŁĄCZ

  4. PEŁNE DOŁĄCZENIE

1. POŁĄCZENIE WEWNĘTRZNE

INNER JOIN pobiera rekordy, które mają pasujące wartości w obu tabelach.

Weźmy przykład bazy danych wykonawców i albumów, w której chcesz znaleźć wszystkie kombinacje wykonawców i albumów. To jest WEWNĘTRZNE POŁĄCZENIE:

SELECT *
FROM artists AS a
INNER JOIN albums AS b
ON a.artist_id = b.artist_id;

W przypadku INNER JOIN w wynikach zostaną zwrócone tylko wiersze z pasującymi wartościami w określonych polach.

2. LEWY DOŁĄCZ

LEWE DOŁĄCZENIE jest również znane jako LEWE DOŁĄCZENIE ZEWNĘTRZNE. Zwraca wszystkie rekordy z lewej tabeli i dopasowane rekordy z prawej tabeli. Jeśli w prawej tabeli nie ma dopasowania, wynik będzie zawierał wartości NULL.

Na przykład, aby uzyskać listę wszystkich artystów i ich albumów (jeśli takie mają), możesz użyć LEWEGO DOŁĄCZENIA:

SELECT *
FROM artists AS a
LEFT JOIN albums AS b
ON a.artist_id = b.artist_id;

To zapytanie zwróci wszystkich wykonawców, nawet jeśli nie mają oni powiązanych albumów w tabeli albumów.

3. DOŁĄCZ W PRAWO

PRAWE DOŁĄCZENIE jest również znane jako PRAWE DOŁĄCZENIE ZEWNĘTRZNE. Zwraca wszystkie rekordy z prawej tabeli i dopasowane rekordy z lewej tabeli. Jeśli w lewej tabeli nie ma dopasowania, wynik będzie zawierał wartości NULL.

Na przykład, aby uzyskać informacje o wszystkich albumach i powiązanych z nimi artystach (jeśli istnieją), użyjesz PRAWEGO DOŁĄCZENIA:

SELECT *
FROM artists AS a
RIGHT JOIN albums AS b
ON a.artist_id = b.artist_id;

To zapytanie zwróci wszystkie albumy, nawet jeśli nie mają powiązanych wykonawców w tabeli wykonawców.

4. PEŁNE DOŁĄCZENIE

PEŁNE DOŁĄCZENIE jest również znane jako PEŁNE DOŁĄCZENIE ZEWNĘTRZNE. Łączy wyniki połączeń LEWYCH i PRAWYCH. Innymi słowy, zwraca wszystkie wiersze z lewej i prawej tabeli i uzupełnia brakujące wartości wartościami NULL, gdy nie ma dopasowania.

Oto przykład wykorzystania tabel wykonawców i albumów:

SELECT *
FROM artists AS a
FULL JOIN albums AS b
ON a.artist_id = b.artist_id;

To zapytanie zwraca wszystkie wiersze z obu tabel, wypełniając wartości NULL w przypadku braku dopasowania w żadnej z tabel.

Funkcje agregujące SQL

Funkcje agregujące służą do obliczania pojedynczego wyniku ze zbioru wartości wejściowych. Nazywa się je „agregacją”, ponieważ pobierają wiele danych wejściowych i zwracają jedno wyjście. Najczęstsze to:

  1. LICZYĆ

  2. SUMA

  3. Śr

  4. MAKS

  5. MIN

1. Funkcja LICZ

Funkcja COUNT umożliwia policzenie liczby wierszy w wyniku zapytania. Tej funkcji agregującej można użyć do określenia łącznej liczby rekordów w tabeli lub liczby rekordów spełniających określone kryteria.

Oto przykład:

SELECT COUNT(*) FROM employees;

To zapytanie zwróci całkowitą liczbę pracowników w tabeli „pracownicy”. Pamiętaj, że dodanie klauzuli WHERE może zawęzić wyniki:

SELECT COUNT(*) FROM employees WHERE department = 'HR';

2. Funkcja SUMA

The SUM function calculates the total sum of a numeric column. It’s useful when you need to calculate the total value of a particular numeric field. For example, this query returns the total sum of all employee salaries:

SELECT SUM(salary) FROM employees;

3. AVG Function

The AVG function computes the average value of a numeric column. This function is helpful when you want to find the average of a particular numeric field. For instance, this query returns the average salary of all employees:

SELECT AVG(salary) FROM employees;

4. MAX Function

The MAX function finds the maximum value of a column. This is often used to find the highest value in a numeric field or the most recent date in a datetime field. For example, this query returns the highest salary:

SELECT MAX(salary) FROM employees;

5. MIN Function

Lastly, the MIN function helps you find the minimum value of a column. For example, this query returns the lowest salary:

SELECT MIN(salary) FROM employees;

Remember, you can use WHERE clauses in these queries and JOIN with multiple tables.

Common String Functions

Ściągawka SQL: Szybki przewodnik po podstawowych poleceniach

Here are the most common string functions that are found in most SQL dialects (the exact syntax can vary):

  1. LEN or LENGTH(string): Returns the length of a string.

  2. UPPER(string): Converts a string to upper case.

  3. LOWER(string): Converts a string to lower case.

  4. SUBSTR or SUBSTRING(string, start, length): Extracts a portion from a string.

  5. TRIM(string): Removes leading and trailing spaces from a string.

  6. LTRIM(string): Removes leading spaces from a string.

  7. RTRIM(string): Removes trailing spaces from a string.

Common Numeric Functions

Ściągawka SQL: Szybki przewodnik po podstawowych poleceniach

Here are the most common numeric functions that are found in most SQL dialects (the exact syntax can vary):

  1. ABS(number): Returns the absolute value of a number.

  2. ROUND(number, decimal_places): Rounds a number to a certain number of decimal places.

  3. FLOOR(number): Rounds down the number to the nearest integer.

  4. CEIL or CEILING(number): Rounds up the number to the nearest integer.

  5. RAND(): Returns a random float value from 0 to 1.

  6. MOD(n, m): Returns the remainder of n divided by m.

  7. POWER(base, exponent): Raises a number to the power of another number.

  8. LOG(number): Returns the natural logarithm of a number.

Common Date Functions

Ściągawka SQL: Szybki przewodnik po podstawowych poleceniach

Here are the most common date functions that are found in most SQL dialects (the exact syntax can vary):

  1. NOW(): Returns the current date and time.

  2. DATE(datetime): Extracts the date part of a date or datetime expression.

  3. TIME(datetime): Extracts the time part of a date or datetime expression.

  4. YEAR(date): Returns the year part.

  5. MONTH(date): Returns the month part.

  6. DAY(date): Returns the day of the month part.

  7. HOUR(time): Returns the hour part from a time.

  8. MINUTE(time): Returns the minute part from a time.

  9. SECOND(time): Returns the second part from a time.

GROUP BY And HAVING

Ściągawka SQL: Szybki przewodnik po podstawowych poleceniach

When working with SQL queries, you may want to further summarize and filter your aggregated data. The GROUP BY and HAVING clauses provide this functionality.

1. Group By Clause

The GROUP BY clause allows you to group rows that share the same values in specified columns. It is commonly used with aggregate functions. This is the syntax:

SELECT column1, column2, aggregate_function(column3)
FROM table_name
WHERE condition
GROUP BY column1, column2;

For example, if you want to calculate the total sales amount for each product category, this is the query:

SELECT product_category, SUM(sales_amount)
FROM sales_data
GROUP BY product_category;

TIP: Combining GROUP BY and COUNT is a good way of finding duplicate values.

2. Having Clause

If you want to filter the aggregated results further, you can use the HAVING clause. The syntax is:

SELECT column1, column2, aggregate_function(column3)
FROM table_name
WHERE condition
GROUP BY column1, column2
HAVING condition;

If you want to find product categories with total sales of more than $1,000,000, you would write:

SELECT product_category, SUM(sales_amount)
FROM sales_data
GROUP BY product_category
HAVING SUM(sales_amount) > 1000000;

Quick Tips

  • Always use the GROUP BY clause before the HAVING clause.

  • The SELECT statement can only contain specified column names, aggregate functions, constants, and expressions.

  • When using the HAVING clause, filter conditions should be applied to the aggregate functions rather than directly to the grouped columns.

By understanding and properly applying the GROUP BY and HAVING clauses, you can better organize and analyze your data using SQL.

Subqueries

Ściągawka SQL: Szybki przewodnik po podstawowych poleceniach

A subquery is also known as an inner or nested query. This is a query embedded within another SQL statement (such as a SELECT statement) or even inside another subquery.

Subqueries allow you to retrieve data based on the output of another query. The most common operators used with subqueries are:

  1. IN

  2. EXISTS

  3. ANY

  4. ALL

1. IN Operator

The IN operator tests if a value is within a set of values generated by the inner query. The syntax for using the IN operator with a subquery is as follows:

SELECT column_name(s)
FROM table_name
WHERE column_name IN (SELECT column_name FROM other_table);

This returns rows from the outer query where the specified column value matches any of the values provided by the subquery.

Suppose you have an employee table and a departments table. You want to find employees who work in departments based at the head office. Here is a sample query

SELECT first_name, last_name
FROM employee
WHERE department IN (SELECT department FROM departments
                     WHERE location = "HQ");

For a more in-depth look, check out our article on the SQL WHERE IN syntax.

2. EXISTS Operator

The EXISTS operator checks if there is at least one row resulting from the subquery. You can use the EXISTS operator to filter rows based on the existence of related data in another table. This is the syntax:

SELECT column_name(s)
FROM table_name
WHERE EXISTS (SELECT column_name FROM other_table WHERE condition);

When the subquery returns at least one row, the EXISTS operator returns true, and the relevant rows from the outer query are included in the result.

3. ANY Operator

The ANY operator is used to compare a value to any value in a set of values provided by a subquery. It’s commonly used with comparison operators like =, <, >, <=, or >=.

This is the syntax:

SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY (SELECT column_name FROM other_table WHERE condition);

This will return rows from the outer query where the specified column value meets the condition against any value from the subquery.

4. ALL Operator

The ALL operator compares a value to all values within a set of values provided by a subquery. The conditions must be true for every value in the subquery’s result. This is the syntax:

SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL (SELECT column_name FROM other_table WHERE condition);

This returns rows from the outer query only if the specified column value satisfies the condition against all values in the subquery’s output.

Data Manipulation (DML)

Ściągawka SQL: Szybki przewodnik po podstawowych poleceniach

Data Manipulation Language (DML) is a sub-language within SQL for managing and updating data. The most common statements are:

  1. INSERT

  2. UPDATE

  3. DELETE

1. INSERT Statement

The INSERT statement allows you to insert rows into a table. Here’s the basic syntax:

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

For example, if you want to insert a new row into a ‘users’ table with columns ‘id’, ‘name’, and ’email’, you would use the following query:

INSERT INTO users (id, name, email)
VALUES (1, 'John Doe', '[email protected]');

2. UPDATE Statement

The UPDATE statement allows you to modify existing row data in a table. This is the syntax:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

For example, if you want to update the email address of a user with the id ‘1’ in the ‘users’ table, your query would look like this:

UPDATE users
SET email = '[email protected]'
WHERE id = 1;

TIP: remember to include a WHERE clause to avoid updating all rows in the table by mistake.

3. DELETE Statement

The DELETE statement allows you to remove rows from a table. Here’s the syntax:

DELETE FROM table_name
WHERE condition;

Na przykład, jeśli chcesz usunąć użytkownika o identyfikatorze „1” z tabeli „użytkownicy”, Twoje zapytanie będzie wyglądać następująco:

DELETE FROM users
WHERE id = 1;

WSKAZÓWKA : zawsze dołączaj klauzulę WHERE, aby określić, które wiersze należy usunąć i uniknąć usunięcia wszystkich wierszy w tabeli.

Zarządzanie bazą danych za pomocą DDL

Ściągawka SQL: Szybki przewodnik po podstawowych poleceniach

Data Definition Language (DDL) to podjęzyk SQL używany do tworzenia i modyfikowania tabel oraz samej bazy danych. Najczęstsze instrukcje DDL to:

  1. TWORZYĆ

  2. ZMIENIAĆ

  3. UPUSZCZAĆ

1. UTWÓRZ oświadczenie

Instrukcja CREATE umożliwia tworzenie nowych obiektów bazy danych, takich jak nowe tabele, widoki lub indeksy. Podczas tworzenia nowej tabeli należy zdefiniować kolumny, ich typy danych oraz wszelkie ograniczenia.

Oto przykład tworzenia tabeli zamówień:

CREATE TABLE orders (
    id INTEGER PRIMARY KEY,
    product VARCHAR(255) NOT NULL,
    customer_id INT NOT NULL
);

WSKAZÓWKA: wybierz odpowiednie typy danych i ograniczenia, aby zapewnić integralność danych w tabelach.

Aby uzyskać bardziej szczegółowe informacje, zapoznaj się z naszym artykułem na temat podstawowych operacji na tabelach SQL .

2. Instrukcja ALTER

Instrukcja ALTER pomaga modyfikować istniejące obiekty bazy danych. Typowe zastosowania obejmują:

  • dodawanie, modyfikowanie lub usuwanie kolumn.

  • dodawanie lub usuwanie ograniczeń z istniejącej tabeli.

  • dodawanie kluczy podstawowych i obcych.

DODAJ NOWĄ KOLUMNĘ

ALTER TABLE users ADD COLUMN age INTEGER;

Zmodyfikuj typ danych kolumny

ALTER TABLE users ALTER COLUMN age TYPE FLOAT;

Upuść kolumnę

ALTER TABLE users DROP COLUMN age;

Dodaj unikalne ograniczenie

ALTER TABLE users ADD CONSTRAINT users_email_unique UNIQUE(email);

Dodaj klucz obcy między tabelami

ALTER TABLE users ADD FOREIGN KEY (country_id) REFERENCES Country(country_id);

3. Instrukcja DROP

Instrukcja DROP umożliwia usuwanie obiektów bazy danych, takich jak tabele, widoki lub indeksy. Używaj go ostrożnie, ponieważ trwale usunie określony obiekt i wszystkie jego dane.

Oto przykład:

DROP TABLE users;

WSKAZÓWKA : Upewnij się, że masz odpowiednie kopie zapasowe przed wykonaniem instrukcji DROP.

Jeśli chcesz dowiedzieć się więcej o modelowaniu danych, obejrzyj ten film:

Transakcje

Transakcje odgrywają kluczową rolę w utrzymaniu integralności bazy danych , zwłaszcza gdy wiele powiązanych operacji jest wykonywanych jednocześnie. Istnieją trzy podstawowe operacje w obsłudze transakcji:

  1. ZACZYNAĆ

  2. POPEŁNIAĆ

  3. COFNIJ

1. ROZPOCZNIJ

Instrukcja BEGIN oznacza początek transakcji. Po wykonaniu tego polecenia ustalasz punkt wyjścia dla zestawu instrukcji SQL.

BEGIN;

2. ZOBOWIĄZANIE

Aby sfinalizować zmiany i utrwalić je w bazie danych, użyj instrukcji COMMIT. Zapewnia to pomyślne i trwałe wykonanie wszystkich operacji w ramach transakcji.

COMMIT;

Oto przykład pełnej transakcji z wykorzystaniem klasycznego przykładu przenoszenia środków między kontami:

BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

3. COFNIJ

Ściągawka SQL: Szybki przewodnik po podstawowych poleceniach

Podczas pracy z transakcjami niezbędna jest również wiedza o tym, jak cofnąć zmiany w przypadku wystąpienia błędu. Instrukcja ROLLBACK odwraca wszystkie zmiany dokonane od początku transakcji:

ROLLBACK;

Oto przykład transakcji z obsługą błędów przy użyciu ROLLBACK:

BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
IF @@ERROR <> 0
    ROLLBACK;
ELSE
    COMMIT;

Końcowe przemyślenia

Jak widzieliśmy w tej ściągawce SQL, SQL oferuje wiele poleceń i funkcji, które pozwalają tworzyć, manipulować i wyszukiwać dane w relacyjnej bazie danych.

Od podstawowych poleceń, takich jak SELECT, INSERT, UPDATE i DELETE, przez bardziej złożone konstrukcje, takie jak JOIN i podzapytania, po funkcje agregujące, które omówiliśmy, SQL zapewnia elastyczność obsługi szerokiego zakresu zadań związanych z danymi.

Wracaj do tej ściągawki, aby przyspieszyć swoją drogę do nauki języka SQL !


Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Pomysły na materializację pamięci podręcznych danych w DAX Studio

W tym samouczku omówiono idee materializacji pamięci podręcznych danych oraz ich wpływ na wydajność języka DAX w dostarczaniu wyników.

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Jeśli do tej pory nadal korzystasz z programu Excel, jest to najlepszy moment, aby zacząć korzystać z usługi LuckyTemplates na potrzeby raportowania biznesowego.

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć