Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
În calitate de programator sau analist de date, te vei trezi adesea lucrând cu volume mari de date. Unul dintre cele mai puternice instrumente de care dispuneți este SQL (Structured Query Language).
Această foaie de cheat SQL vă oferă cele mai comune obiecte și comenzi SQL, inclusiv tipuri de date, instrucțiuni DML și DDL, funcții agregate, funcții șir și date și subinterogări.
Este conceput pentru a fi o referință rapidă și la îndemână la care puteți ajunge oricând interacționați cu o bază de date relațională.
Dacă sunteți ca noi și doriți să descărcați și să imprimați sau să stocați fișa de cheat pe computer, o puteți descărca mai jos.
Cuprins
Tipuri de date SQL
Tipurile de date pentru anumite sisteme de gestionare a bazelor de date (DBMS) pot varia (de exemplu, Microsoft SQL Server vs MySQL ). Cu toate acestea, există mai multe care se găsesc pe majoritatea sistemelor. Le puteți împărți în trei categorii:
Numeric
Data si ora
Şir
1. Tipuri numerice
Acestea sunt cele mai comune tipuri numerice:
INTEGER : Un număr întreg fără virgulă zecimală.
SMALLINT : O gamă mai mică de numere întregi
BIGINT : O gamă mai mare de numere întregi.
DECIMAL(p, s) sau NUMERIC(p, s) : De exemplu, o zecimală (5,2) s-ar potrivi cu 123,45.
REAL : Un număr în virgulă mobilă, cu o precizie de cel puțin 6 cifre zecimale.
FLOAT(n) : Un număr în virgulă mobilă, cu o precizie de cel puțin n cifre.
2. Tipuri de dată și oră
DATA : O valoare a datei, de obicei în formatul „AAAA-LL-ZZ”.
TIME : O valoare de timp, de obicei în formatul „HH:MM:SS”.
DATETIME sau TIMESTAMP : o combinație de valori de dată și oră.
3. Tipuri de șiruri
CHAR(n) : Un șir de lungime fixă cu n caractere.
VARCHAR(n) sau CHARACTER VARYING(n) : Un șir de lungime variabilă.
TEXT : Un șir de lungime variabilă cu o lungime maximă determinată de SGBD.
Declarația SELECT
Instrucțiunea SELECT este utilizată pentru a prelua date dintr-unul sau mai multe tabele. Puteți specifica coloanele pe care doriți să le preluați și din ce tabel. O instrucțiune de bază SELECT arată astfel:
SELECT column1, column2
FROM table;
Pentru a prelua toate înregistrările din coloanele „name” și „country_id” din tabelul „city”, interogarea dvs. SQL arată astfel:
SELECT name, country_id
FROM city;
CLAUZA UNDE
Clauza WHERE vă permite să filtrați rezultatele unei instrucțiuni SELECT pe baza unor condiții specifice.
SELECT column1, column2
FROM table
WHERE condition;
Pentru a prelua înregistrări din tabelul „oraș” în care „populația” este mai mare de 1.000.000, interogarea dvs. arată astfel:
SELECT name, population
FROM city
WHERE population > 1000000;
ORDER BY Clauza
Clauza ORDER BY vă permite să sortați rezultatele unei instrucțiuni SELECT după una sau mai multe coloane. Puteți sorta rezultatele în ordine crescătoare (ASC) sau descrescătoare (DESC):
SELECT column1, column2
FROM table
ORDER BY column1 ASC, column2 DESC;
De exemplu, pentru a prelua înregistrări din tabelul „oraș” sortate după „populație” în ordine descrescătoare, interogarea dvs. arată astfel:
SELECT name, population
FROM city
ORDER BY population DESC;
Unirea mai multor tabele în SQL
Există patru îmbinări utilizate în mod obișnuit în SQL:
INNER JOIN
LEFT JOIN
ÎNSCRIEȚI DREPT
ÎNREGISTRARE COMPLETĂ
1. INNER JOIN
Un INNER JOIN preia înregistrările care au valori care se potrivesc în ambele tabele.
Să luăm un exemplu de bază de date de artiști și albume și doriți să găsiți toate combinațiile de artiști și albume. Aceasta este INNER JOIN:
SELECT *
FROM artists AS a
INNER JOIN albums AS b
ON a.artist_id = b.artist_id;
Cu un INNER JOIN, vor fi returnate în rezultate numai rândurile cu valori care se potrivesc în câmpurile specificate.
2. LEFT JOIN
O LEFT JOIN este cunoscută și sub numele de LEFT OUTER JOIN. Returnează toate înregistrările din tabelul din stânga și înregistrările potrivite din tabelul din dreapta. Dacă nu există nicio potrivire în tabelul din dreapta, rezultatul va conține valori NULL.
De exemplu, pentru a obține o listă cu toți artiștii și cu albumele lor respective (dacă au vreunul), puteți folosi un LEFT JOIN:
SELECT *
FROM artists AS a
LEFT JOIN albums AS b
ON a.artist_id = b.artist_id;
Această interogare va returna toți artiștii, chiar dacă nu au niciun album asociat cu ei în tabelul cu albume.
3. ALĂTURAREA DREPT
UN RIGHT JOIN este cunoscut și sub numele de RIGHT OUTER JOIN. Returnează toate înregistrările din tabelul din dreapta și înregistrările potrivite din tabelul din stânga. Dacă nu există nicio potrivire în tabelul din stânga, rezultatul va conține valori NULL.
De exemplu, pentru a obține informații despre toate albumele și artiștii lor asociați (dacă există), ați folosi un RIGHT JOIN:
SELECT *
FROM artists AS a
RIGHT JOIN albums AS b
ON a.artist_id = b.artist_id;
Această interogare va returna toate albumele, chiar dacă nu au artiști asociați în tabelul cu artiști.
4. ALĂTURAREA COMPLETĂ
UN FULL JOIN este cunoscut și sub numele de FULL OUTER JOIN. Combină rezultatele ambelor îmbinări LEFT și RIGHT. Cu alte cuvinte, returnează toate rândurile din tabelele din stânga și din dreapta și completează valorile lipsă cu valori NULL atunci când nu există nicio potrivire.
Iată un exemplu de utilizare a tabelelor cu artiști și albume:
SELECT *
FROM artists AS a
FULL JOIN albums AS b
ON a.artist_id = b.artist_id;
Această interogare returnează toate rândurile din ambele tabele, completând valorile NULL acolo unde nu există potriviri în niciunul dintre tabele.
Funcții agregate SQL
Funcțiile agregate sunt utilizate pentru a calcula un singur rezultat dintr-un set de valori de intrare. Se numesc „agregate” deoarece iau mai multe intrări și returnează o singură ieșire. Cele mai frecvente sunt:
NUMARA
SUMĂ
AVG
MAX
MIN
1. Funcția COUNT
Funcția COUNT vă permite să numărați numărul de rânduri dintr-un rezultat al unei interogări. Puteți utiliza această funcție de agregare pentru a determina numărul total de înregistrări dintr-un tabel sau numărul de înregistrări care corespund unor criterii specifice.
Iată un exemplu:
SELECT COUNT(*) FROM employees;
Această interogare va returna numărul total de angajați din tabelul „angajați”. Rețineți că adăugarea unei clauze WHERE vă poate rafina rezultatele:
SELECT COUNT(*) FROM employees WHERE department = 'HR';
2. Funcția SUM
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;
De exemplu, dacă doriți să ștergeți un utilizator cu id-ul „1” din tabelul „utilizatori”, interogarea dvs. ar arăta astfel:
DELETE FROM users
WHERE id = 1;
SFAT : includeți întotdeauna o clauză WHERE pentru a specifica ce rânduri să ștergeți și pentru a evita ștergerea tuturor rândurilor din tabel.
Managementul bazei de date cu DDL
Limbajul de definire a datelor (DDL) este sub-limbajul SQL utilizat pentru crearea și modificarea tabelelor și a bazei de date în sine. Cele mai comune instrucțiuni DDL sunt:
CREA
MODIFICA
CĂDERE BRUSCA
1. Declarația CREATE
Instrucțiunea CREATE vă permite să creați noi obiecte de bază de date, cum ar fi noi tabele, vizualizări sau indecși. Când creați un tabel nou, trebuie să definiți coloanele, tipurile de date ale acestora și orice constrângeri.
Iată un exemplu de creare a unui tabel de comenzi:
CREATE TABLE orders (
id INTEGER PRIMARY KEY,
product VARCHAR(255) NOT NULL,
customer_id INT NOT NULL
);
SFAT: alegeți tipurile de date și constrângerile adecvate pentru a asigura integritatea datelor în tabelele dvs.
Pentru o privire mai detaliată, consultați articolul nostru despre operațiunile de bază ale tabelelor SQL .
2. Declarația ALTER
Instrucțiunea ALTER vă ajută să modificați obiectele bazei de date existente. Utilizările comune includ:
adăugarea, modificarea sau eliminarea coloanelor.
adăugarea sau eliminarea constrângerilor dintr-un tabel existent.
adăugarea de chei primare și străine.
ADAUGĂ O COLANĂ NOUĂ
ALTER TABLE users ADD COLUMN age INTEGER;
Modificați tipul de date al unei coloane
ALTER TABLE users ALTER COLUMN age TYPE FLOAT;
Aruncă o coloană
ALTER TABLE users DROP COLUMN age;
Adăugați o constrângere unică
ALTER TABLE users ADD CONSTRAINT users_email_unique UNIQUE(email);
Adăugați o cheie străină între tabele
ALTER TABLE users ADD FOREIGN KEY (country_id) REFERENCES Country(country_id);
3. Declarație DROP
Instrucțiunea DROP vă permite să eliminați obiectele bazei de date precum tabele, vizualizări sau indecși. Utilizați-l cu precauție, deoarece va șterge definitiv obiectul specificat și toate datele acestuia.
Iată un exemplu:
DROP TABLE users;
SFAT : Asigurați-vă că aveți copii de siguranță adecvate înainte de a executa o instrucțiune DROP.
Dacă doriți să aflați mai multe despre modelarea datelor, vizionați acest videoclip:
Tranzacții
Tranzacțiile joacă un rol crucial în menținerea integrității bazei de date , mai ales atunci când mai multe operațiuni asociate sunt executate simultan. Există trei operațiuni fundamentale în gestionarea tranzacțiilor:
ÎNCEPE
COMMIT
ROLLBACK
1. ÎNCEPE
Instrucțiunea BEGIN semnifică începutul unei tranzacții. La executarea acestei comenzi, stabiliți un punct de plecare pentru setul dvs. de instrucțiuni SQL.
BEGIN;
2. ANGAJARE
Pentru a finaliza modificările și a le păstra în baza de date, utilizați instrucțiunea COMMIT. Acest lucru asigură că toate operațiunile din cadrul tranzacției sunt executate cu succes și permanent.
COMMIT;
Iată un exemplu de tranzacție completă folosind exemplul clasic de transfer de fonduri între conturi:
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
3. ROLLBACK
Când lucrați cu tranzacții, este, de asemenea, esențial să știți cum să anulați modificările atunci când apare o eroare. Instrucțiunea ROLLBACK inversează toate modificările efectuate de la începutul tranzacției:
ROLLBACK;
Iată un exemplu de tranzacție cu gestionarea erorilor folosind 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;
Gânduri finale
După cum ați văzut în această foaie de cheat SQL, SQL oferă o multitudine de comenzi și funcții care vă permit să creați, să manipulați și să interogați date într-o bază de date relațională.
De la comenzile fundamentale precum SELECT, INSERT, UPDATE și DELETE, până la construcții mai complexe precum JOIN-uri și subinterogări, până la funcțiile agregate pe care le-am acoperit, SQL oferă flexibilitatea de a gestiona o gamă largă de sarcini de date.
Continuați să reveniți la această foaie de cheat pentru a vă accelera călătoria către învățarea SQL !
Ce este Sinele în Python: Exemple din lumea reală
Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.
În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.
Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.
În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.
Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.
Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.
Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.
Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.
Ce este LuckyTemplates Gateway? Tot ce trebuie să știți