Czym jest self w Pythonie: przykłady z życia wzięte
Czym jest self w Pythonie: przykłady z życia wzięte
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.
Spis treści
Typy danych SQL
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:
Numeryczne
Data i godzina
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
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
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
Istnieją cztery powszechnie używane sprzężenia w SQL:
POŁĄCZENIE WEWNĘTRZNE
LEWY DOŁĄCZ
PRAWO DOŁĄCZ
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:
LICZYĆ
SUMA
Śr
MAKS
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
Here are the most common string functions that are found in most SQL dialects (the exact syntax can vary):
LEN or LENGTH(string): Returns the length of a string.
UPPER(string): Converts a string to upper case.
LOWER(string): Converts a string to lower case.
SUBSTR or SUBSTRING(string, start, length): Extracts a portion from a string.
TRIM(string): Removes leading and trailing spaces from a string.
LTRIM(string): Removes leading spaces from a string.
RTRIM(string): Removes trailing spaces from a string.
Common Numeric Functions
Here are the most common numeric functions that are found in most SQL dialects (the exact syntax can vary):
ABS(number): Returns the absolute value of a number.
ROUND(number, decimal_places): Rounds a number to a certain number of decimal places.
FLOOR(number): Rounds down the number to the nearest integer.
CEIL or CEILING(number): Rounds up the number to the nearest integer.
RAND(): Returns a random float value from 0 to 1.
MOD(n, m): Returns the remainder of n divided by m.
POWER(base, exponent): Raises a number to the power of another number.
LOG(number): Returns the natural logarithm of a number.
Common Date Functions
Here are the most common date functions that are found in most SQL dialects (the exact syntax can vary):
NOW(): Returns the current date and time.
DATE(datetime): Extracts the date part of a date or datetime expression.
TIME(datetime): Extracts the time part of a date or datetime expression.
YEAR(date): Returns the year part.
MONTH(date): Returns the month part.
DAY(date): Returns the day of the month part.
HOUR(time): Returns the hour part from a time.
MINUTE(time): Returns the minute part from a time.
SECOND(time): Returns the second part from a time.
GROUP BY And HAVING
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
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:
IN
EXISTS
ANY
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)
Data Manipulation Language (DML) is a sub-language within SQL for managing and updating data. The most common statements are:
INSERT
UPDATE
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
Data Definition Language (DDL) to podjęzyk SQL używany do tworzenia i modyfikowania tabel oraz samej bazy danych. Najczęstsze instrukcje DDL to:
TWORZYĆ
ZMIENIAĆ
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:
ZACZYNAĆ
POPEŁNIAĆ
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
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
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.
Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.
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.
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.
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ł.
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.
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.
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ć