SQL concepts for data analysts in Hindi
рдПрд╕рдХреНрдпреВрдПрд▓ рдХреНрдпрд╛ рд╣реИ?
Table of Contents
ToggleSQL Concepts for Data Analysts (рдбреЗрдЯрд╛ рдПрдирд╛рд▓рд┐рд╕реНрдЯ рдХреЗ рд▓рд┐рдП SQL рдХреЙрдиреНрд╕реЗрдкреНрдЯреНрд╕)
SQL рдХреНрдпрд╛ рд╣реИ?
SQL (Structured Query Language) рдПрдХ рдорд╛рдирдХ рднрд╛рд╖рд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдбрд┐рдлрд╛рдЗрди, рдореИрдирд┐рдкреБрд▓реЗрдЯ рдФрд░ рд░рд┐рдЯреНрд░реАрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░, рдПрдХреНрд╕реЗрд╕ рдФрд░ рдПрдирд╛рд▓рд╛рдЗрдЬ рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
SQL рдХреА рдкреНрд░рдореБрдЦ рдСрдкрд░реЗрд╢рдиреНрд╕
SQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рдСрдкрд░реЗрд╢рдиреНрд╕ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ:
- Database рдмрдирд╛рдирд╛ рдФрд░ рд╣рдЯрд╛рдирд╛: `CREATE DATABASE` рдФрд░ `DROP DATABASE` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
- Tables рдмрдирд╛рдирд╛ рдФрд░ рд╣рдЯрд╛рдирд╛: `CREATE TABLE` рдФрд░ `DROP TABLE` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
- Data Insert рдХрд░рдирд╛: `INSERT INTO` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
- Data Update рдХрд░рдирд╛: `UPDATE` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
- Data Delete рдХрд░рдирд╛: `DELETE FROM` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
- Data Select рдХрд░рдирд╛: `SELECT` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
Data рдХреЛ Sort рдФрд░ Filter рдХрд░рдирд╛
`ORDER BY` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдбреЗрдЯрд╛ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ `WHERE` рдХреНрд▓реЙрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдбреЗрдЯрд╛ рдХреЛ рдлрд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпреЗ рдСрдкрд░реЗрд╢рдиреНрд╕ рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯреНрд╕ рдХреЛ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рджреЗрдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред
SQL Joins
`JOIN` рдХреНрд▓реЙрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЯреЗрдмрд▓реНрд╕ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдХреБрдЫ рдкреНрд░рдореБрдЦ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
- INNER JOIN: рдХреЗрд╡рд▓ рдЙрди рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬреЛ рджреЛрдиреЛрдВ рдЯреЗрдмрд▓реНрд╕ рдореЗрдВ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред
- LEFT JOIN: рдмрд╛рдПрдВ рдЯреЗрдмрд▓ рдХреЗ рд╕рднреА рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдФрд░ рджрд╛рдПрдВ рдЯреЗрдмрд▓ рдХреЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред
- RIGHT JOIN: рджрд╛рдПрдВ рдЯреЗрдмрд▓ рдХреЗ рд╕рднреА рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдФрд░ рдмрд╛рдПрдВ рдЯреЗрдмрд▓ рдХреЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред
- FULL OUTER JOIN: рджреЛрдиреЛрдВ рдЯреЗрдмрд▓реНрд╕ рдХреЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рдФрд░ рди рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред
SQL рдореЗрдВ Data рдХреЛ Aggregate рдХрд░рдирд╛
рдбреЗрдЯрд╛ рдХреЛ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо Aggregate Functions рдЬреИрд╕реЗ `SUM`, `AVG`, рдФрд░ `COUNT` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
- SUM: рдПрдХ рдХреЙрд▓рдо рдХреЗ рд╕рднреА рд╡реИрд▓реНрдпреВрдЬрд╝ рдХрд╛ рдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
- AVG: рдПрдХ рдХреЙрд▓рдо рдХреЗ рд╕рднреА рд╡реИрд▓реНрдпреВрдЬрд╝ рдХрд╛ рдФрд╕рдд рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред
- COUNT: рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЧрд┐рдирддрд╛ рд╣реИред
SQL рдХреНрдпреЛрдВ рд╕реАрдЦреЗрдВ?
SQL рдбреЗрдЯрд╛ рдПрдирд╛рд▓рд┐рд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдХреМрд╢рд▓ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред SQL рд╕реАрдЦрдХрд░ рдЖрдк рдбреЗрдЯрд╛ рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЗрдирд╕рд╛рдЗрдЯреНрд╕ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡реНрдпрд╡рд╕рд╛рдп рдирд┐рд░реНрдгрдпреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА (DBMS) рдХреНрдпрд╛ рд╣реИ? | Database Management System
DBMS рдХрд╛ рдкрд░рд┐рдЪрдп
рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА (DBMS) рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрдирд╛рдиреЗ, рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ, рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдбреЗрдЯрд╛ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЦреЛрдЬрдиреЗ рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
DBMS рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп
- рдбреЗрдЯрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛
- рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛
- рдбреЗрдЯрд╛ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдирд╛
- рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛
- рдбреЗрдЯрд╛ рдХреЛ рд╣рдЯрд╛рдирд╛
- рдбреЗрдЯрд╛ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдирд╛
- рдбреЗрдЯрд╛ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрдирд╛ рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
- рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рд╕рд╛рде рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛
DBMS рдХреЗ рд▓рд╛рдн
- рдбреЗрдЯрд╛ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдФрд░ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рд░рдЦрдирд╛
- рдбреЗрдЯрд╛ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдирд╛
- рдбреЗрдЯрд╛ рддрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдирд╛
- рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдирд╛
- рдбреЗрдЯрд╛ рдХрд╛ рдмреИрдХрдЕрдк рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдирд╛
- рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рд╕рд╛рде рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдирд╛
DBMS рдХрд╛ рдЙрдкрдпреЛрдЧ
- рд╡реНрдпрд╡рд╕рд╛рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЧреНрд░рд╛рд╣рдХ рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдмрд┐рдХреНрд░реА рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
- рд╕рд░рдХрд╛рд░реА рдПрдЬреЗрдВрд╕рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд╛рдЧрд░рд┐рдХреЛрдВ рдФрд░ рдХрд╛рдиреВрдиреА рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
- рд╢реИрдХреНрд╖рдгрд┐рдХ рд╕рдВрд╕реНрдерд╛рдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЫрд╛рддреНрд░ рд░рд┐рдХреЙрд░реНрдб рдФрд░ рдкрд╛рдареНрдпрдХреНрд░рдо рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
- рдЧреИрд░-рд▓рд╛рднрдХрд╛рд░реА рд╕рдВрдЧрдардиреЛрдВ рджреНрд╡рд╛рд░рд╛ рджрд╛рди рдФрд░ рд╕рджрд╕реНрдпрддрд╛ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
SQL рдбреЗрдЯрд╛ рдЯрд╛рдЗрдкреНрд╕ | SQL Data Types
рд╕рдВрдЦреНрдпрд╛рддреНрдордХ (Numeric)
рдпрд╣ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЙрдореНрд░, рд╡реЗрддрди, рдореВрд▓реНрдп, рдпрд╛ рдорд╛рддреНрд░рд╛. рдЗрд╕рдореЗрдВ рдЙрдк-рдкреНрд░рдХрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
- рдкреВрд░реНрдгрд╛рдВрдХ (Integer): рдкреВрд░реЗ рдирдВрдмрд░реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг: 25, -100)
- рджрд╢рдорд▓рд╡ (Decimal): рджрд╢рдорд▓рд╡ рдмрд┐рдВрджреБрдУрдВ рд╡рд╛рд▓реЗ рдирдВрдмрд░реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг: 3.14, 125.99)
- рдлрд╝реНрд▓реЛрдЯ (Float): рджрд╢рдорд▓рд╡ рдмрд┐рдВрджреБ рдХреЗ рд╕рд╛рде рд╕рдВрдЦреНрдпрд╛рдПрдБ (рдЙрджрд╛рд╣рд░рдг: 5.78, 3.14)
- рдирдореНрдмрд░ (Numeric): рдЕрдзрд┐рдХрддрдо рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдкрд╛рдареНрдп (Text)
рдпрд╣ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдЕрдХреНрд╖рд░реЛрдВ, рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдирд╛рдо, рдкрддреЗ, рдпрд╛ рд╡рд┐рд╡рд░рдг. рдЗрд╕рдореЗрдВ рдЙрдк-рдкреНрд░рдХрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
- рд╡рд░реНрдг (Char): рдПрдХрд▓ рдЕрдХреНрд╖рд░ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг: тАШAтАЩ, тАШтВ╣тАЩ)
- рд╡рд░реНрдгрдорд╛рд▓рд╛ (VarChar): рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд▓рдВрдмрд╛рдИ рд╡рд╛рд▓реЗ рдкрд╛рдареНрдп рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг: тАЬрджрд┐рд▓реНрд▓реАтАЭ, тАЬрдирдорд╕реНрддреЗтАЭ)
- рдЯреЗрдХреНрд╕реНрдЯ (Text): рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг: рдХрд┐рд╕реА рдкреЛрд╕реНрдЯ рдХрд╛ рд╡рд┐рд╡рд░рдг)
рддрд┐рдерд┐ рдФрд░ рд╕рдордп (Date and Time)
рдпрд╣ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рддрд┐рдерд┐рдпреЛрдВ рдФрд░ рд╕рдордпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ. рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╛рд░реВрдк DBMS рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг: 2024-04-29, 14:30:00).
- рддрд┐рдерд┐ (Date): рдХреЗрд╡рд▓ рддрд┐рдерд┐ (рдЙрджрд╛рд╣рд░рдг: 2024-12-01)
- рд╕рдордп (Time): рдХреЗрд╡рд▓ рд╕рдордп (рдЙрджрд╛рд╣рд░рдг: 14:30:00)
- рддрд┐рдерд┐ рдФрд░ рд╕рдордп (DateTime): рддрд┐рдерд┐ рдФрд░ рд╕рдордп рджреЛрдиреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг: 2024-12-01 14:30:00)
- рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк (Timestamp): рд╕рдордп рдХреЗ рд╕рд╛рде рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП
рддрд╛рд░реНрдХрд┐рдХ (Logical)
рдпрд╣ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рд╕рддреНрдп рдпрд╛ рдЕрд╕рддреНрдп рдЬреИрд╕реЗ рдмреВрд▓рд┐рдпрди рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ. рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдХрд┐рд╕реА рд╢рд░реНрдд рдпрд╛ рд╕реНрдерд┐рддрд┐ рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг: True, False).
рдЕрдиреНрдп рдбреЗрдЯрд╛ рдЯрд╛рдЗрдкреНрд╕ (Other Data Types)
SQL рдореЗрдВ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдкреНрд╕ рднреА рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реЛрддреЗ рд╣реИрдВ. рдЗрдирдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдмрд╛рдЗрдирд░реА (Binary): рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг: рдмрд╛рдЗрдЯреНрд╕, рдЗрдореЗрдЬреЗрдЬ)
- XML: XML рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг:
<data></data>
) - ENUM: рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрдЯ рдХреЗ рднреАрддрд░ рд╕реЗ рдПрдХ рдорд╛рди рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг: ‘Male’, ‘Female’)
- JSON: JSON (JavaScript Object Notation) рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг: {‘name’: ‘John’, ‘age’: 30})
- UUID: рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг: 123e4567-e89b-12d3-a456-426614174000)
рдирд┐рд╖реНрдХрд░реНрд╖ (Conclusion)
рдбреЗрдЯрд╛рдмреЗрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреБрдХреНрдд рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдмреЗрд╣рдж рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбреЗрдЯрд╛ рдХреА рд╕рдЯреАрдХрддрд╛, рд╕рдВрдЧреНрд░рд╣рдг рджрдХреНрд╖рддрд╛ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ. рд╕рд╣реА рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ, рдЖрдк рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЕрдзрд┐рдХ рд╕рдВрдЧрдард┐рдд рдФрд░ рдкреНрд░рднрд╛рд╡реА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ.
SQL рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ | Database Objects in SQL
рдЯреЗрдмрд▓ (Tables)
рдЯреЗрдмрд▓ рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рдПрдХ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдХреА рддрд░рд╣ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ. рдЗрд╕рдореЗрдВ рдкрдВрдХреНрддрд┐рдпрд╛рдВ (rows) рдФрд░ рд╕реНрддрдВрдн (columns) рд╣реЛрддреЗ рд╣реИрдВ. рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдПрдХ рд░рд┐рдХреЙрд░реНрдб (record) рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреА рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЗрдХрд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд░рдЦрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг: рдПрдХ рдЧреНрд░рд╛рд╣рдХ, рдПрдХ рдЙрддреНрдкрд╛рдж). рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдВрдн (column) рдПрдХ рд╡рд┐рд╢реЗрд╖ рдбреЗрдЯрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ (attribute) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╕рднреА рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рд░рдЦрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг: рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдирд╛рдо, рдЙрддреНрдкрд╛рдж рдХрд╛ рдореВрд▓реНрдп).
рд╕реНрддрдВрдн (Columns)
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕реНрддрдВрдн рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рднреАрддрд░ рдбреЗрдЯрд╛ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ. рдпреЗ рдЯреЗрдмрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдбреЗрдЯрд╛ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг: рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдирд╛рдо, рдИрдореЗрд▓ рдкрддрд╛, рдлреЛрди рдирдВрдмрд░).
рджреГрд╢реНрдп (Views)
рджреГрд╢реНрдп рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рд╡рд░реНрдЪреБрдЕрд▓ рдЯреЗрдмрд▓ рдХреА рддрд░рд╣ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ. рдпреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдирд╣реАрдВ рдХрд░рддреЗ рдмрд▓реНрдХрд┐ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ. рджреГрд╢реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ, рдЬреЙрдЗрди рдХрд░рдиреЗ рдпрд╛ рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрд▓рдо рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рдпрд╣ рдЬрдЯрд┐рд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдФрд░ рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдорджрджрдЧрд╛рд░ рд╣реЛрддрд╛ рд╣реИ.
рдЕрдиреБрдХреНрд░рдо (Sequences)
рдЕрдиреБрдХреНрд░рдо (sequence) рдЕрджреНрд╡рд┐рддреАрдп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВ. рдЗрдиреНрд╣реЗрдВ рдЕрдХреНрд╕рд░ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬрд┐рдпреЛрдВ (primary keys) рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИрдВ.
рдЗрдВрдбреЗрдХреНрд╕ (Indexes)
рдЗрдВрдбреЗрдХреНрд╕ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд (indexed) рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВ. рдпреЗ рдХрд┐рд╕реА рдкреБрд╕реНрддрдХ рдХреА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛ рдХреЛ рддреЗрдЬреА рд╕реЗ рдвреВрдВрдврдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ. рдЗрдВрдбреЗрдХреНрд╕ рдХреНрд╡реЗрд░реА рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рдмрдбрд╝реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп.
рдкрд░реНрдпрд╛рдпрд╡рд╛рдЪреА (Synonyms)
рдкрд░реНрдпрд╛рдпрд╡рд╛рдЪреА рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рддрд╛рд▓рд┐рдХрд╛, рджреГрд╢реНрдп рдпрд╛ рдЕрдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ. рдпреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЕрдзрд┐рдХ рд╕рд╣рдЬ рдпрд╛ рдпрд╛рджрдЧрд╛рд░ рдирд╛рдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ.
рдЯреНрд░рд┐рдЧрд░ (Triggers)
рдЯреНрд░рд┐рдЧрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдбреЗрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХреЛрдИ рдирдпрд╛ рд░рд┐рдХреЙрд░реНрдб рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдкрд░ рдЯреНрд░рд┐рдЧрд░ рд╕рдХреНрд░рд┐рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдбреЗрдЯрд╛ рд╕рддреНрдпрд╛рдкрди рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ.
рдирд┐рд╖реНрдХрд░реНрд╖ (Conclusion)
SQL рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реБрд▓рдн рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ. рдпреЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреЗ рд╣реИрдВ. рд╕рд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдФрд░ рдкреНрд░рднрд╛рд╡реА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ.
рдПрд╕рдХреНрдпреВрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? | Uses of SQL
рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛
рдЖрдк CREATE DATABASE рдФрд░ CREATE TABLE рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдЯреЗрдмрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕реНрддрдВрднреЛрдВ, рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдФрд░ рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╣реЗрд░рдлреЗрд░ рдХрд░рдирд╛
рдЖрдк INSERT, UPDATE рдФрд░ DELETE рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд, рдЕрдкрдбреЗрдЯ рдФрд░ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдбреЗрдЯрд╛ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рдХреНрд░рдордмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рдЖрдк SELECT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЬрдЯрд┐рд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХрд░рдирд╛
рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдФрд░ рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рд░рд┐рдкреЛрд░реНрдЯ рдФрд░ рдЪрд╛рд░реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реБрд░рдХреНрд╖рд╛
рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЕрдирдзрд┐рдХреГрдд рдкрд╣реБрдВрдЪ рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрд╕рдХреНрдпреВрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ
рдПрд╕рдХреНрдпреВрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рд╡реНрдпрд╡рд╕рд╛рдп: рдЧреНрд░рд╛рд╣рдХ рдбреЗрдЯрд╛, рдЙрддреНрдкрд╛рдж рд╕реВрдЪреА, рдмрд┐рдХреНрд░реА рдбреЗрдЯрд╛ рдФрд░ рд╡рд┐рддреНрддреАрдп рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ред
- рд╕рд░рдХрд╛рд░: рдирд╛рдЧрд░рд┐рдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА, рдХрд░ рд░рд┐рдХреЙрд░реНрдб рдФрд░ рдХрд╛рдиреВрдиреА рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ред
- рд╢рд┐рдХреНрд╖рд╛: рдЫрд╛рддреНрд░ рд░рд┐рдХреЙрд░реНрдб, рдкрд╛рдареНрдпрдХреНрд░рдо рдбреЗрдЯрд╛ рдФрд░ рдЕрдиреБрд╕рдВрдзрд╛рди рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ред
- рд╕реНрд╡рд╛рд╕реНрдереНрдп рд╕реЗрд╡рд╛: рд░реЛрдЧреА рд░рд┐рдХреЙрд░реНрдб, рдЪрд┐рдХрд┐рддреНрд╕рд╛ рдЗрддрд┐рд╣рд╛рд╕ рдФрд░ рдмреАрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ред
- рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдЕрдиреБрд╕рдВрдзрд╛рди: рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдбреЗрдЯрд╛, рдкрд░рд┐рдгрд╛рдореЛрдВ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдгреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ред
рдирд┐рд╖реНрдХрд░реНрд╖ (Conclusion)
рдПрд╕рдХреНрдпреВрдПрд▓ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рднрд╛рд╖рд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░, рдбреЗрдЯрд╛ рдПрдирд╛рд▓рд┐рд╕реНрдЯ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдбреЗрдЯрд╛-рд╕рдВрдЪрд╛рд▓рд┐рдд рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдХреМрд╢рд▓ рд╣реИред
рдбрд╛рдЯрд╛ рдкреНрд░рд╛рдкреНрддрд┐ рдФрд░ рд╣реЗрд░рдлреЗрд░ (Data Retrieval and Manipulation
CREATE TABLE Customers (
customer_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
city VARCHAR(50) NOT NULL,
phone_number VARCHAR(20)
);
CREATE TABLE Orders (
order_id INT PRIMARY KEY AUTO_INCREMENT,
order_date DATE NOT NULL,
customer_id INT NOT NULL,
FOREIGN KEY (customer_id) REFERENCES Customers(customer_id)
);
CREATE TABLE Products (
product_id INT PRIMARY KEY AUTO_INCREMENT,
product_name VARCHAR(100) NOT NULL,
price DECIMAL(10,2) NOT NULL
);
-- Insert Customers (at least 10 entries)
INSERT INTO Customers (name, email, city, phone_number)
VALUES ('John Doe', 'john.doe@example.com', 'New York', '123-456-7890'),
('Jane Smith', 'jane.smith@example.com', 'Los Angeles', NULL),
('Alice Johnson', 'alice.johnson@example.com', 'Chicago', '987-654-3210'),
('Michael Brown', 'michael.brown@example.com', 'Houston', '555-123-4567'),
('David Miller', 'david.miller@example.com', 'Phoenix', '444-333-2221'),
('Sarah Garcia', 'sarah.garcia@example.com', 'San Antonio', NULL),
('Robert Wilson', 'robert.wilson@example.com', 'San Diego', '888-777-6666'),
('Emily Jones', 'emily.jones@example.com', 'Dallas', '321-654-9870'),
('Matthew Hernandez', 'matthew.hernandez@example.com', 'San Jose', '212-987-6543'),
('Ashley Moore', 'ashley.moore@example.com', 'Austin', '789-456-1230');
-- Insert Orders (at least 5 entries with references to existing customers)
INSERT INTO Orders (order_date, customer_id)
VALUES ('2024-04-20', 1),
('2024-04-25', 3),
('2024-04-30', 5),
('2024-05-01', 7),
('2024-05-01', 9);
-- Insert Products (at least 5 entries)
INSERT INTO Products (product_name, price)
VALUES ('T-Shirt', 19.99),
('Laptop', 799.99),
('Coffee Mug', 9.99),
('Headphones', 49.99),
('Book', 24.95);
рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдирд╛рдо, рдИрдореЗрд▓ рдФрд░ рд╢рд╣рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
SELECT name, email, city
FROM customers;
┬ардПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд┐рдерд┐ рдХреЗ рдмрд╛рдж рдХрд┐рдП рдЧрдП рд╕рднреА рдСрд░реНрдбрд░ рдвреВрдВрдвреЗрдВ:
SELECT *
FROM orders
WHERE order_date > '2024-05-01';
рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдореВрд▓реНрдп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ (рдЖрд░реЛрд╣реА):
SELECT *
FROM products
ORDER BY price ASC;
┬ардХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рдХреЙрд▓рдо рдХреЛ рдЕрдзрд┐рдХ рдкрдардиреАрдп рдирд╛рдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
SELECT customer_name AS "рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдирд╛рдо",
customer_email AS "рдИрдореЗрд▓",
customer_city AS "рд╢рд╣рд░"
FROM customers;
рдЫреВрдЯреЗ рд╣реБрдП рдлреЛрди рдирдВрдмрд░ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВ:
SELECT *
FROM customers
WHERE phone_number IS NULL;
рдЙрддреНрдкрд╛рдж рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдСрд░реНрдбрд░ рд╡рд┐рд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрд░реНрдбрд░ рдФрд░ рдЙрддреНрдкрд╛рдж рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдЬреЙрдЗрди рдХрд░реЗрдВ:
SELECT o.order_id, o.order_date, o.customer_id, p.product_name, p.price
FROM orders AS o
JOIN products AS p
ON o.product_id = p.product_id;
рдЙрди рд╕рднреА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдвреВрдВрдвреЗрдВ рдЬрд┐рдирдХреЗ рдСрд░реНрдбрд░ рдХреА рдХреБрд▓ рд░рд╛рд╢рд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рди рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ:
SELECT c.customer_name, SUM(p.price) AS total_amount
FROM customers AS c
JOIN orders AS o
ON c.customer_id = o.customer_id
JOIN order_details AS od
ON o.order_id = od.order_id
JOIN products AS p
ON od.product_id = p.product_id
GROUP BY c.customer_name
HAVING total_amount > 100;
рдПрдЧреНрд░реАрдЧреЗрд╢рди рдФрд░ рд╕рдВрдХреНрд╖реЗрдкрдг (Aggregation and Summarization):
рдкреНрд░рддреНрдпреЗрдХ рд╢реНрд░реЗрдгреА рдореЗрдВ рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
SELECT product_name, COUNT(*) AS product_count
FROM products
GROUP BY product_name;
рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдФрд╕рдд рдСрд░реНрдбрд░ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ:
SELECT customer_name, AVG(order_amount) AS average_order_value
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
GROUP BY customer_name;
рд╕рдмрд╕реЗ рдорд╣рдВрдЧреЗ рдФрд░ рд╕рдмрд╕реЗ рд╕рд╕реНрддреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВ:
SELECT product_name, price
FROM products
ORDER BY price DESC
LIMIT 1; -- Top 1 most expensive product
SELECT product_name, price
FROM products
ORDER BY price ASC
LIMIT 1; -- Top 1 least expensive product
рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рд╢реНрд░реЗрдгреА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдореВрд╣рдмрджреНрдз рдХрд░реЗрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╢реНрд░реЗрдгреА рдХреЗ рд▓рд┐рдП рдмреЗрдЪреА рдЧрдИ рдХреБрд▓ рдорд╛рддреНрд░рд╛ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ:
SELECT category, SUM(quantity) AS total_quantity_sold
FROM order_details od
JOIN products p ON od.product_id = p.product_id
GROUP BY category;
рддрд┐рдерд┐ рдФрд░ рд╕рдордп рдлрд╝рдВрдХреНрд╢рдВрд╕ (Date and Time Functions):
рдСрд░реНрдбрд░ рддрд┐рдерд┐ рдХреЙрд▓рдо рд╕реЗ рд╡рд░реНрд╖, рдорд╛рд╣ рдФрд░ рджрд┐рди рдирд┐рдХрд╛рд▓реЗрдВ:
SELECT order_id,
YEAR(order_date) AS order_year,
MONTH(order_date) AS order_month,
DAY(order_date) AS order_day
FROM orders;
┬арджреЛ рддрд┐рдерд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдЬреНрдЮрд╛рдд рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдСрд░реНрдбрд░ рддрд┐рдерд┐ рдФрд░ рдбрд┐рд▓реАрд╡рд░реА рддрд┐рдерд┐):
SELECT order_id, order_date, delivery_date, DATEDIFF(delivery_date, order_date) AS days_between
FROM orders;
рдкрд┐рдЫрд▓реА рддрд┐рдорд╛рд╣реА рдореЗрдВ рдХрд┐рдП рдЧрдП рд╕рднреА рдСрд░реНрдбрд░реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВ:
SELECT *
FROM orders
WHERE order_date BETWEEN LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 3 MONTH)) + INTERVAL 1 DAY AND CURDATE();
рдЙрдиреНрдирдд рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ (Advanced Concepts):
рдЬреЙрдЗрди (Joins):
рд╡рд┐рднрд┐рдиреНрди рдЬреЙрдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рдбреЗрдЯрд╛ рдорд░реНрдЬ рдХрд░реЗрдВ:
- INNER JOIN: рджреЛрдиреЛрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд░рд┐рдХреЙрд░реНрдб рд▓реМрдЯрд╛рддрд╛ рд╣реИ (рдЬреЙрдЗрди рд╢рд░реНрдд рдкрд░ рдорд┐рд▓рд╛рди)ред
- LEFT JOIN: рдмрд╛рдИрдВ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рдФрд░ рджрд╛рдПрдВ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд░рд┐рдХреЙрд░реНрдб (рдЕрд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП NULL рдорд╛рди рднрд░рддрд╛ рд╣реИ)ред
- RIGHT JOIN: рджрд╛рдИрдВ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рдФрд░ рдмрд╛рдИрдВ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд░рд┐рдХреЙрд░реНрдб (рдЕрд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП NULL рдорд╛рди рднрд░рддрд╛ рд╣реИ)ред
- FULL JOIN: рджреЛрдиреЛрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб (рдорд┐рд▓рд╛рди рдпрд╛ рдирд╣реАрдВ, NULL рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде)ред
рдЙрджрд╛рд╣рд░рдг (INNER JOIN):
SELECT c.name, p.product_name, o.order_date
FROM customers c
INNER JOIN orders o ON c.customer_id = o.customer_id
INNER JOIN products p ON o.product_id = p.product_id;
UNION, INTERSECT, рдФрд░ EXCEPT: SQL рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╕реЗрдЯ рдХреЛ рдорд┐рд▓рд╛рдирд╛ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛
UNION
UNION рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЛ рдпрд╛ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ SELECT рдХреНрд╡реЗрд░реА рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрджрд┐ рджреЛрдиреЛрдВ рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рдЬреИрд╕реЗ рд░рд┐рдХреЙрд░реНрдб рд╣реИрдВ, рддреЛ рд╡реЗ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред
рдЙрджрд╛рд╣рд░рдг:
SELECT рдирд╛рдо FROM рдЧреНрд░рд╛рд╣рдХ UNION SELECT рдирд╛рдо FROM рд╕рдкреНрд▓рд╛рдпрд░;
рдпрд╣ рдХреНрд╡реЗрд░реА рдЧреНрд░рд╛рд╣рдХ рдФрд░ рд╕рдкреНрд▓рд╛рдпрд░ рдирд╛рдореЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдирд╛рдо рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред
INTERSECT
INTERSECT рдСрдкрд░реЗрдЯрд░ рдХреЗрд╡рд▓ рдЙрди рд░рд┐рдХреЙрд░реНрдбреЛрдВ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬреЛ рджреЛрдиреЛрдВ SELECT рдХреНрд╡реЗрд░реА рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рд╕рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЙрди рд░рд┐рдХреЙрд░реНрдбреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдПрдЧрд╛ рдЬреЛ рджреЛрдиреЛрдВ рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг:
SELECT рдирд╛рдо FROM рдЧреНрд░рд╛рд╣рдХ INTERSECT SELECT рдирд╛рдо FROM рд╕рдкреНрд▓рд╛рдпрд░;
рдпрд╣ рдХреНрд╡реЗрд░реА рдХреЗрд╡рд▓ рдЙрди рдирд╛рдореЛрдВ рдХреЛ рд▓реМрдЯрд╛рдПрдЧреА рдЬреЛ рдЧреНрд░рд╛рд╣рдХ рдФрд░ рд╕рдкреНрд▓рд╛рдпрд░ рджреЛрдиреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
EXCEPT
EXCEPT рдСрдкрд░реЗрдЯрд░ рдПрдХ рдХреНрд╡реЗрд░реА рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╕реЗ рджреВрд╕рд░реА рдХреНрд╡реЗрд░реА рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ SELECT рдХреЗ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рд╕реЗ рдЙрди рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ рдЬреЛ рджреВрд╕рд░реЗ SELECT рдХреЗ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг:
SELECT рдирд╛рдо FROM рдЧреНрд░рд╛рд╣рдХ EXCEPT SELECT рдирд╛рдо FROM рд╕рдкреНрд▓рд╛рдпрд░;
рдпрд╣ рдХреНрд╡реЗрд░реА рдЙрди рдирд╛рдореЛрдВ рдХреЛ рд▓реМрдЯрд╛рдПрдЧреА рдЬреЛ рдЧреНрд░рд╛рд╣рдХ рд╕реВрдЪреА рдореЗрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдкреНрд▓рд╛рдпрд░ рд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред
рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ (RANK, ROW_NUMBER): рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд░реИрдВрдХ рдФрд░ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛
RANK() рдлрд╝рдВрдХреНрд╢рди
RANK() рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдореВрд╣ рдХреЗ рднреАрддрд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд░реИрдВрдХ рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рджреЛ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╕рдорд╛рди рдорд╛рди рд░рдЦрддреА рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рди рд░реИрдВрдХ рджреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рдЕрдЧрд▓реЗ рд░реИрдВрдХ рдореЗрдВ рдПрдХ рдЫрд▓рд╛рдВрдЧ рд╣реЛрддреА рд╣реИред рдпрд╣ рдЯрд╛рдИ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд░реИрдВрдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рдХреЛ рд╕рд╣реА рд░реИрдВрдХ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд┐рдирддреА рдмрдврд╝ рдЬрд╛рддреА рд╣реИред
рдЙрджрд╛рд╣рд░рдг:
SELECT рдирд╛рдо, рдЕрдВрдХ, RANK() OVER (ORDER BY рдЕрдВрдХ DESC) AS рд░реИрдВрдХ FROM рдЫрд╛рддреНрд░;
рдпрд╣ рдХреНрд╡реЗрд░реА рдЫрд╛рддреНрд░реЛрдВ рдХреЛ рдЙрдирдХреЗ рдЕрдВрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд░реИрдВрдХ рдЕрд╕рд╛рдЗрди рдХрд░рддреА рд╣реИ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЕрдВрдХ рд╡рд╛рд▓реЗ рдЫрд╛рддреНрд░ рдХреЛ 1 рд░реИрдВрдХ рдорд┐рд▓реЗрдЧрд╛ред рдЕрдЧрд░ рджреЛ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рдЕрдВрдХ рд╕рдорд╛рди рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рди рд░реИрдВрдХ рдорд┐рд▓реЗрдЧрд╛, рдФрд░ рдЕрдЧрд▓рд╛ рдЫрд╛рддреНрд░ рдПрдХ рд░реИрдВрдХ рдЙрдЪреНрдЪ рд╣реЛрдЧрд╛ред
ROW_NUMBER() рдлрд╝рдВрдХреНрд╢рди
ROW_NUMBER() рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкрд╣рдЪрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╛рдирддрд╛ рдпрд╛ рд╕рдореВрд╣ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдПред
рдЙрджрд╛рд╣рд░рдг:
SELECT рдирд╛рдо, рдЕрдВрдХ, ROW_NUMBER() OVER (ORDER BY рдЕрдВрдХ DESC) AS рдЕрдиреБрдХреНрд░рдо FROM рдЫрд╛рддреНрд░;
рдпрд╣ рдХреНрд╡реЗрд░реА рдкреНрд░рддреНрдпреЗрдХ рдЫрд╛рддреНрд░ рдХреЛ рдЙрд╕рдХреЗ рдЕрдВрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╕рдВрдЦреНрдпрд╛ рджреЗрддреА рд╣реИ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЕрдВрдХ рд╡рд╛рд▓реЗ рдЫрд╛рддреНрд░ рдХреЛ рдЕрдиреБрдХреНрд░рдо 1 рдорд┐рд▓реЗрдЧрд╛ рдФрд░ рдЕрдиреНрдп рдЫрд╛рддреНрд░реЛрдВ рдХреЛ рдЙрд╕реА рддрд░реАрдХреЗ рд╕реЗ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдорд┐рд▓реЗрдЧреАред
рд╕рд╛рдорд╛рдиреНрдп рддрд╛рд▓рд┐рдХрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (CTEs): рдЬрдЯрд┐рд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдШрдЯрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛
CTE (Common Table Expressions) рдХреНрдпрд╛ рд╣реИрдВ?
рд╕рд╛рдорд╛рдиреНрдп рддрд╛рд▓рд┐рдХрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (CTE) SQL рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд░реНрдЪреБрдЕрд▓ рддрд╛рд▓рд┐рдХрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЬрдЯрд┐рд▓ рдХреНрд╡реЗрд░реА рдореЗрдВ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред CTE рдХрд╛ рдЙрдкрдпреЛрдЧ SELECT, INSERT, UPDATE, рдФрд░ DELETE рдЬреИрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдореБрдЦреНрдп рдХреНрд╡реЗрд░реА рдореЗрдВ рдЙрдкрдХреНрд╡реЗрд░реА (subquery) рдпрд╛ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред CTEs рдХреНрд╡реЗрд░реА рдХреЛ рдЕрдзрд┐рдХ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рдФрд░ рдкреБрди: рдЙрдкрдпреЛрдЧреА рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдмрдбрд╝реА рдФрд░ рдЬрдЯрд┐рд▓ рдХреНрд╡реЗрд░реАрдЬ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
CTE рдХрд╛ рдЙрджрд╛рд╣рд░рдг
рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЙрджрд╛рд╣рд░рдг рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рддрд╛рд▓рд┐рдХрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (CTE) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ, рд╣рдо рдПрдХ CTE ‘customer_orders’ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдЖрджреЗрд╢реЛрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо CTE рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрджреЗрд╢ рдХреА рддрд╛рд░реАрдЦ 2024-04-01 рдХреЗ рдмрд╛рдж рд╣реИред
WITH customer_orders AS ( SELECT c.name, o.order_date FROM customers c JOIN orders o ON c.customer_id = o.customer_id ) SELECT * FROM customer_orders WHERE order_date > '2024-04-01';
рдпрд╣ рдХреНрд╡реЗрд░реА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдирд╛рдо рдФрд░ рдЙрдирдХреЗ рдЖрджреЗрд╢реЛрдВ рдХреА рддрд╛рд░реАрдЦ рдХреЛ ‘customer_orders’ CTE рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рдЙрди рдЖрджреЗрд╢реЛрдВ рдХреЛ рдлрд┐рд▓реНрдЯрд░ рдХрд░рддреА рд╣реИ рдЬрд┐рдирдХреА рддрд╛рд░реАрдЦ 2024-04-01 рдХреЗ рдмрд╛рдж рдХреА рд╣реИред CTE рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдХреНрд╡реЗрд░реА рдЕрдзрд┐рдХ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдФрд░ рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддреА рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рдВрд╕ (UDFs):
рджреЛрд╣рд░рд╛рд╡ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдПрдВ:
- UDFs рдХреЛ SQL рдХреЛрдб рдХреЗ рдмреНрд▓реЙрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдЙрдиреНрд╣реЗрдВ SELECT, WHERE, рдЖрджрд┐ рдХреНрд▓реЙрдЬ рдореЗрдВ рддрд░реНрдХ рдХреЛ рдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг (UDF):
CREATE FUNCTION calculate_order_total(order_id INT)
RETURNS DECIMAL(10,2)
BEGIN
DECLARE order_total DECIMAL(10,2);
SELECT SUM(od.quantity * p.price)
INTO order_total
FROM order_details od
JOIN products p ON od.product_id = p.product_id
WHERE od.order_id = order_id;
RETURN order_total;
END;
SELECT order_id, calculate_order_total(order_id) AS order_total
FROM orders;
рдбрд╛рдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд░рд┐рджреГрд╢реНрдп (Data Analysis Scenarios):
рдмрд┐рдХреНрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╢реАрд░реНрд╖ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВ:
SELECT customer_name, SUM(order_amount) AS total_sales
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
GROUP BY customer_name
ORDER BY total_sales DESC
LIMIT 10; -- рд╢реАрд░реНрд╖ 10 рдЧреНрд░рд╛рд╣рдХ
рдЙрддреНрдкрд╛рдж рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ:
SELECT product_name, SUM(quantity) AS total_sold
FROM order_details od
JOIN products p ON od.product_id = p.product_id
GROUP BY product_name
ORDER BY total_sold DESC
LIMIT 5; -- рд╢реАрд░реНрд╖ 5 рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд┐рдХрдиреЗ рд╡рд╛рд▓реЗ рдЙрддреНрдкрд╛рдж
рд╕рдмрд╕реЗ рдХрдо рдмрд┐рдХрдиреЗ рд╡рд╛рд▓реЗ рдЙрддреНрдкрд╛рдж:
SELECT product_name, SUM(quantity) AS total_sold
FROM order_details od
JOIN products p ON od.product_id = p.product_id
GROUP BY product_name
ORDER BY total_sold ASC
LIMIT 5; -- рд╢реАрд░реНрд╖ 5рд╕рдмрд╕реЗ рдХрдо рдмрд┐рдХрдиреЗ рд╡рд╛рд▓реЗ рдЙрддреНрдкрд╛рдж
рдЧреНрд░рд╛рд╣рдХ рд╡рд┐рднрд╛рдЬрди:
SELECT c.name, purchase_category
FROM customers c
JOIN (
SELECT customer_id, MAX(order_date) AS last_order_date
FROM orders
GROUP BY customer_id
) AS last_order_on
ON c.customer_id = last_order_on.customer_id
LEFT JOIN (
SELECT customer_id, AVG(order_amount) AS average_order_amount
FROM orders
GROUP BY customer_id
) AS average_order_on
ON c.customer_id = average_order_on.customer_id
CASE
WHEN last_order_date IS NULL THEN 'New Customer'
WHEN average_order_amount > 500 THEN 'High Spender'
ELSE 'Regular Customer'
END AS purchase_category;
рдЬрдирд╕рд╛рдВрдЦреНрдпрд┐рдХреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░:
SELECT c.name, age_group, purchase_category
FROM customers c
LEFT JOIN (
SELECT customer_id, CASE
WHEN age BETWEEN 18 AND 24 THEN '18-24'
WHEN age BETWEEN 25 AND 34 THEN '25-34'
ELSE '35+'
END AS age_group
FROM customers
) AS age_on
ON c.customer_id = age_on.customer_id
LEFT JOIN (
SELECT customer_id, CASE
WHEN gender = 'M' THEN 'Male'
ELSE 'Female'
END AS gender_group
FROM customers
) AS gender_on
ON c.customer_id = gender_on.customer_id
CASE
WHEN gender_group = 'Male' THEN 'Male Customers'
WHEN gender_group = 'Female' THEN 'Female Customers'
ELSE 'Other'
END AS purchase_category;
┬ардмрд┐рдХреНрд░реА рд░реБрдЭрд╛рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг:
SELECT order_date, SUM(order_amount) AS daily_sales
FROM orders
GROUP BY order_date
ORDER BY order_date;
рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рдмрд┐рдХреНрд░реА:
SELECT WEEK(order_date) AS order_week, SUM(order_amount) AS weekly_sales
FROM orders
GROUP BY WEEK(order_date)
ORDER BY order_week;
рдорд╛рд╕рд┐рдХ рдмрд┐рдХреНрд░реА:
SELECT MONTH(order_date) AS order_month, SUM(order_amount) AS monthly_sales
FROM orders
GROUP BY MONTH(order_date)
ORDER BY order_month;
рдХреЛрд╣реЙрд░реНрдЯ рд╡рд┐рд╢реНрд▓реЗрд╖рдг:
-- рдкрд╣рд▓реЗ рдорд╣реАрдиреЗ рдореЗрдВ рдЕрд░реНрдЬрд┐рдд рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рд╕рд┐рдХ рдмрд┐рдХреНрд░реА
WITH customer_cohorts AS (
SELECT customer_id, MONTH(order_date) AS cohort_month
FROM orders
WHERE YEAR(order_date) = 2024 AND MONTH(order_date) = 1
GROUP BY customer_id, MONTH(order_date)
)
SELECT cohort_month, MONTH(order_date), SUM(order_amount) AS monthly_sales
FROM orders o
JOIN customer_
Call to Action: Take Your SQL Skills to the Next Level
Explore Additional SQL Tutorials and Real-World Practice
Now that youтАЩve mastered the LIKE operator and wildcards, it’s time to expand your knowledge and practice with more advanced SQL topics. The best way to improve your skills is through hands-on experience. Explore the following tutorials and practice on real-world datasets to take your SQL expertise to the next level:
- Mastering SQL Logic: AND, OR & NOT Operators
- SQL Constraints Explained: A Quick Guide
- Step-by-Step Guide to Becoming a Data Analyst in 2025
- Step-by-Step Guide for SQL for Data Analytics
- SQL Concepts for Data Analysts in Hindi
- SQL Interview Questions: Covering a Range of Topics
- Exploring the Diverse World of SQL Databases and Software
- DDL Commands in SQL: A Complete Guide
- Difference Between ORDER BY and GROUP BY
- Understanding SQL Joins: INNER, LEFT, RIGHT, and FULL
- Mastering Database Design: Primary Key vs. Foreign Key
These resources will guide you through complex SQL concepts and offer practical tips for real-world applications. Keep learning and refining your skills, and don’t forget to practice on real datasets to solidify your knowledge.