ToCode
Open in Telegram
ืืืคืื ืงืฆืจืื ืืืชืื ืชืื ืืืช ืื ืื ืคืจืง
Show more1 419
Subscribers
+124 hours
-17 days
-530 days
Posts Archive
1 419
ืกืืจืช SQL ืืกืืกื - ืคืืกื 21 - ืกืืืื ืืืืข ืืคื ืงืืืฆืืช
ืจืืื ื ืืื ืืืคืขืื ืคืื ืงืฆืืืช ืกืืืื ืืื ืืงืื ืขืจื ืืืื ืืชืื ืืืกืฃ ืฉื ืฉืืจืืช. ืืจืื ืคืขืืื ื ืจืฆื ืืืคืขืื ืืช ืืกืืืื ืจืง ืขื ืืืง ืืืฉืืจืืช ืืืฉืืื ืื ืืฉ ืื ื ื SQL ืืช ืืคืงืืื GROUP BY.
ืืจืืื ืืขืืืืื ืืคื ืืืืงืืช
ืืคืงืืื GROUP BY ื SQL ืืืคืฉืจืช ืืืืง ืืช ืืฉืืจืืช ืืงืืืฆืืช. ืืืืคื ืจืืื ืืชืื select ืืืืง ืื ืืืจืื ืืืฆืื ืจืง ืฉื ืืฉืืจื ืืจืืฉืื ื ืืื ืงืืืฆื. ืืืืืื ืืฉืืืืชื:
select * from employees group by department;
ืืืืืจื ืืช ืฉืืืฉืช ืืฉืืจืืช:
id name city department salary
11 Diane London hr 70
21 Emma London it 84
31 Cindy Berlin sales 96
ืฉืืืื group by ืขื ืคืื ืงืฆืืืช ืกืืืื
ืืื ืฉื Group by ืืื ืืืืืืช ืืฉืื ืืช ืืืืืงื ืืงืืืฆืืช ืขื ืคืื ืงืฆืืืช ืกืืืื, ืืื ืืืงืื ืืงืื ืจืง ืืช ืืฉืืจื ืืจืืฉืื ื ืืื ืงืืืฆื ืื ืื ื ืืืืืื ืืงืื ืกืืืื ืืืจ ืฉื ืขืจืืื. ืืืืืื ืืฉืืืืชื ืืืื ืชืืืืจ ืืช ืฉื ืืืืืงื ืืืช ืืืฉืืืจืช ืืืืืฆืขืช ืืืืชื ืืืืงื:
select department, avg(salary) from employees group by department;
ืืืืคื ืืืื ืืกืืกื ื ืชืื ืื (ืืืฅ ื SQLite) ืื ืืืืืื ืฉืืชื ืื ืกืื ืืืฆืื ื select ืขืืืื ืฉืื ืืืคืืขื ื group by, ืืื ืืคืงืืื ืืืื ืื ืชืขืืื:
select name, department, avg(salary) from employees group by department;
ืืื ืืืืื ื - ืื ืื ืืจืืจ ืฉื ืฉื ืืืื ืขืืื ืฆืจืื ืืืฆืื.
ืื ืืคืฉืจ ืืฉืื ืืกืคืจ ืืืจืืฆืืืช ืืืืชื ืฉืืืืชื ืืืฉื ืื ืขืืื ืืืฆืื ืื ืืช ืืืฉืืืจืช ืืืืืฆืขืช ืืื ืืช ืืกืคืจ ืืขืืืืื ืืื ืืืืงื:
select department, avg(salary), count(*) from employees group by department;
ืืคืฉืจ ืื ืืืคืขืื ืืกืคืจ group by ืืืืชื ืคืงืืื ืืืืืื ืืคืงืืื ืืืื ืืฆืืื ืืช ืืืฉืืืจืช ืืืืืฆืขืช ืืคื ืขืืจ ืืืืืงื:
select *, avg(salary) from employees group by city, department;
ืืคืงืืื having
ืืื ืฉืืื ืื ื where ืืื ืืืืืจ ืจืง ืืืง ืืืฉืืจืืช ืืคืงืืืืช select, ืื ืืฉืืฉืืจืืช ืืกืืืจืืช ืืงืืืฆืืช ื ืฉืชืืฉ ืืคืงืืืช having ืืื ืืืืืจ ืจืง ืืืื ืฉืคืื ืงืฆืืืช ืืกืืืื ืืชืืืื ืืชื ืื ืืกืืื. ืืคืฉืจ ืืืฉืื ืขื having ืืื where ืฉื ืคืื ืงืฆืืืช ืกืืืื.
ืืืืืื ืื ื ืืืื ืืขืืื ืืช ืืฉืืืืชื ืืงืืืืช ืืื ืฉืชืืืืจ ืจืง ืืช ืืงืืืฆืืช ืฉืืืืืืช ืืืชืจ ืืขืืื ืืื (ืืืฉืืื ืืืืื ืฉืืื ืขืืื ืื ื ืืืกืืฃ ืื ืืช ืืกืคืจ ืืขืืืืื ืืชืืฆืืืช):
select *, avg(salary), count(*) from employees group by city, department having count(*) > 1;1 419
ืกืืจืช SQL ืืกืืกื - ืคืืกื 20 - ืคืื ืงืฆืืืช ืืกืืืื ืืืืข
ืขื ืขืืฉืื ืืฉืชืืฉื ื ืืืกืืก ืื ืชืื ืื ืืชืืจ ืืืกื ืืืืืืืช ืืงืกื - ืื ืื ื ืืืชืืื ืืฉื ืืืืข ืืืืืืื ืืืฉืื ืฉืืจืืช ืฉืืขื ืืื ืืช ืืืชื ื. ืืืืง ืื ื ืขืืืจ ืืืืื ืขื ืืคืื ืงืฆืืืช ืืกืืืื ืืืืข ืื ืคืขืื ืืืชื ืขื ืื ืืฉืืจืืช ืื ืขื ืงืืืฆืืช ืฉื ืฉืืจืืช.
ืืคืื ืงืฆืื sum
ืคืื ืงืฆืื ืจืืฉืื ื ืืฉืืขืืจ ืืื sum, ืืชืคืงืืื ืืืฉื ืกืืื ืฉื ืขืจืืื. ืื ืืืื ืืคืื ืงืฆืืืช ืฉืจืืื ื ืขื ืขืืฉืื ืืงืืจืก, ืคืื ืงืฆืืืช ืกืืืื ืืืืข ืืื ื ืคืืขืืืช ืขื ืขืจื ืืืื ืืื ืขื ืืืกืฃ ืฉื ืฉืืจืืช ืืื ืืกืืืืช ืืช ืืืืืข ืืฉืืจืืช ืืื. ืื ืืคืื ืงืฆืื sum ืื ืชืกืืื ืขืจืืื ืืืื ืขืืืืืช (ืืฉืืื ืื ื ืืื ืืืฉืชืืฉ ืืกืืื
+ ืืฆืืจื ืจืืืื) ืืื ืชืกืืื ืืช ืืขืจืืื ืฉื ืืืชื ืขืืืื ืืื ืืื ืฉืืจืืช.
ืืฉืืื ืืืืืื ืื ื ืืงื ืืช ื ืชืื ื ืืืืืื ืฉื SQLime ืืขื ืืกืืก ืื ืชืื ืื ืืคืขืื:
select *, SUM(salary) from employees;
ืืชืืฆืื ืขืฉืืื ืืืคืชืืข:
id name city department salary SUM(salary)
11 Diane London hr 70 942
ืงืืืื ื ืชืืฆืื ืืืช ืืืื ืืฉืืจื ืืจืืฉืื ื ืืจืฉืืืช ืืชืืฆืืืช. ืื ืืขืจืืื ืืชืืฆืื ืื ืืขืจืืื ืฉื ืืฉืืจื ืืจืืฉืื ื ืืืื ืืขืจื SUM(salary). ืขืจื ืื ืืฆืื ืืช ืกืืื ืื ืืืกืคืจืื ืืขืืืืช ื salary.
ืืืจื ืืื ืืฉืืคืขืืืื ืคืื ืงืฆืืืช ืกืืืื ืื ื ืจืฆื ืืงืื ืืชืืฆืืืช ืืช ืืขืืืืืช ืฉืืื ื ืืืงืืืช ืืืง ืืคืื ืงืฆืืืช ืืกืืืื ืื ืื ืกืชื ืืืืื ืืืื ืกืืืจ ืืืชืจ ืฉื ืืชืื:
select SUM(salary) from employees;
ืืคืื ืงืฆืื COUNT
ืืคืื ืงืฆืื count ืกืืคืจืช ืขืจืืื. ืืฉ ืฉืชื ืืจืืื ืืืฉืชืืฉ ืื - ืื ืื ื ืืืืืื ืืืฉืชืืฉ ืื ืืื ืืกืคืืจ ืืื ืฉืืจืืช ืืฉ ืืงืื:
select count(*) from employees;
ืื ืืื ืืกืคืืจ ืืื ืขืจืืื ืฉืืื ื NULL ืืฉ ืืขืืืื ืืกืืืืช ืืงืื:
select count(name) from employees;
ืืฉื ื ืืืงืจืื ืืคืฉืจ ืืืฉืชืืฉ ืื ืืื sum ืืื ืืงืื ืื ืกืืื ืืื ืืกืคืจ ืืขืจืืื:
select count(*), sum(salary) from employees;
ืืคืื ืงืฆืื AVG
ืืคืื ืงืฆืื avg ืืืฉืืช ืืช ืืืืืฆืข ืฉื ืขืืืื ืืกืคืจืืช:
select count(*), sum(salary), avg(salary) from employees;
count(*) sum(salary) avg(salary)
13 942 94.2
ืื ืชืคืขืืื ืืืชื ืขื ืขืืืื ืฉืืื ื ืืกืคืจืืช ืชืงืืื 0 ืื ืฉืืืื, ืชืืื ืืืกืืก ืื ืชืื ืื.
ืืคืื ืงืฆืืืช min ื max
ื ืกืืื ืขื ืฉืชื ืืคืื ืงืฆืืืช min ื max ืฉืืืืืจืืช ืืช ืืขืจื ืืงืื ืืืืชืจ ืืืืืื ืืืืชืจ ืืงืื:
select count(*), sum(salary), avg(name), min(salary), max(salary) from employees;1 419
ืกืืจืช SQL ืืกืืกื - ืคืืกื 18 - ืคืื ืงืฆืืืช ืืขืืืื ืขื ืชืืจืืืื
ืขืืืื ืขื ืชืืจืืืื ืืื ืืื ืืืชืืจืื ืืืืืืื ืฉื ืืขืจืืืช ืืืฉื. ืืกืืกื ื ืชืื ืื ืื ืกืื ืืขืืืจ ืื ื ืืื ืืืืคืฉืจืื ืื ื ืืฉืืืจ ืขืืืื ืืกืื ืชืืจืื ืืื ืืกืคืงืื ืืกืคืจ ืคืื ืงืฆืืืช ืืืืฉืืืื ืขื ืขืืืืืช ืชืืจืืืื. ืฉืืื ืื ืฉืืกืืกื ื ืชืื ืื ืื ืืืืขืื ืืืชืืืื ืขื ืืืืจื ืืื ืืืื ืืคืื ืงืฆืืืช ืฉื ืจืื ืชืืื ืืงืืืืช ืจืง ืชืืจืื ืืฉืขื, ืืื ืชืืื ืืืจืืืช ืฉื ืื ืฉืืฉืชืืฉ ืืืกืืก ืื ืชืื ืื "ืืกืืจ" ืืช ืืฉืขืื ืื ืืฉืืืขืจืืช ืฆืจืืื ืืฉืืืจ ืืืืข ืขื ืฉืขืืช ืืืืืจื ืืื ืฉืื ืื.
ืืชืืจืื ืืืฉืขื ืื ืืืืืื ื SQLite
ืฉืืืฉืช ืืคืื ืงืฆืืืช ืืจืืฉืื ืืช ืฉืืจืฆื ืืืจืืืช ืื date, time ื datetime. ืื ืืืืืจืืช ืืช ืืชืืจืื ืื ืืืื, ืืฉืขื ืื ืืืืืช ืืืชืืจืื ืืืฉืขื ืื ืืืืืื. ืืืื ื ืจืื ืืืชื ืืคืขืืื. ืชืืืื ืืคืื ืงืฆืื date ืฉืืืืืจื ืืช ืืชืืจืื ืืคืืจืื ืฉื ื-ืืืืฉ-ืืื:
select date();
ืืคืื ืงืฆืื time ืืืืืจื ืืช ืืฉืขื ืื ืืืืืช:
select time();
ืืืคืื ืงืฆืื datetime ืืืืืจื ืืืจืืืช ืฉืืชืืืื ืืชืืจืื ืืืฉืขื ืื ืืืืืื:
select datetime();
ืฉืืืืฉ ืจืืฉืื ืืคืื ืงืฆืืืช ืืื ืืืื ืืื ืืืื ืืก ืืืืข ืืืฉ ืืืกืืก ื ืชืื ืื. ืฉืืื ืื ืืืืืช ืืืฉืืืืช ืืืื:
create table tasks(id integer primary key, text text, due_date datetime);
ื ืื ืืก ืืกืคืจ ืืฉืืืืช:
insert into tasks(text, due_date) values
('eat breakfast', datetime()),
('learn sql', datetime()),
('have a party', datetime());
select * from tasks;
ืืงืืืื ื:
id text due_date
1 eat breakfast 2024-08-05 10:09:15
2 learn sql 2024-08-05 10:09:15
3 have a party 2024-08-05 10:09:15
ืืชืืจืื ืืืื ืก ืืืืืืืืช ืืืืืช ืืชืืจืื ืืืฉืขื ืื ืืืืืื. ืืื ืืืืช ืฉืืืฆืืจืช ืืฉืืืืช ืขืืืฃ ืืชืช ืืื ืืื ืืื ืฉืขืืช ืื ืืืื ืืื ืืกืืื ืืช ืืืฉืืื. ื ืืฆืืจ ืืืืฉ ืืช ืืืืื ืืคืขื ืขื ืฉืชื ืขืืืืืช ืชืืจืื, ืืืช ืืชืืจืื ืื ื ืืฆืจื ืืืฉืืื ืืฉื ืืื ืืชืืจืื ืืืขื:
create table tasks(
id integer primary key,
text text,
created_at datetime,
due_date datetime);
ืืฉืืื ืืืื ืืก ื ืชืื ืื ืื ื ืจืืฆื ืืงืื ื datetime ืืช ืืชืืจืื ืฉื ืืืจ ืืืืงืจ. ืื ื ืจืื ืืื:
select datetime('now', '+1 day');
ืืืืื ืฉืืชื ืืืืืื ืืืขืืืจ ืืกืคืจ ืืืื ืฉืื ื ืื ืืคืืื ืฉืขืืช, ืืงืืช, ืืืืฉืื ืื ืฉื ืื. ืืืืื now ืืชืืืกืช ืืืื ืขืืฉืื, ืืืคืฉืจ ืืืงืืื ืืืขืืืจ ืืืจืืืช ืฉืชืืืฆื ืืช ืืชืืจืื ืืื ื ืืชืืืืื, ืืืืืื:
select datetime('2024-01-01', '+1 day')
ืืืืจื ืืืืืช ืืืฉืืืืช ืฉืื ื - ืื ืื ื ืืืื ืืืืกืืฃ ืืฉืืืืช ืฉืชืืจืื ืืืฆืืจื ืฉืืื ืืื ืขืืฉืื ืืืืขื ืืกืืื ืฉืืื ืืืืืจ ืืฉืืืข ืืื:
insert into
tasks(text, created_at, due_date)
values('task 1', datetime(), datetime('now', '+7 days'));
ืืชืืจืื ืืืฉืขื ืื ืืืืืื ื SQL Server
ืกืืคืจืชื ืืืจ ืฉืืฉ ืื ื ืืขืื ืฉื ืชืืืืืช? ื ื, ืื ืืฉ ืื ื. ืืฉืืื ืืงืื ืืช ืืชืืจืื ืืืฉืขื ืื ืืืืืื ื SQL Server ื ืฉืชืืฉ ืืืืืื CURRENT_TIMESTAMP ืืื ืกืืืจืืื ืืืืคื ืืื:
select CURRENT_TIMESTAMP;
ืืืฉืืื ืืืืกืืฃ ืื ืืืืืื ืื ื ืืคืขืื ืคืื ืงืฆืื ื ืคืจืืช ืืฉื DATEADD:
SELECT DATEADD(day, 2, CURRENT_TIMESTAMP);
ืืชืืจืื ืืืฉืขื ืื ืืืืืื ืืคืืกืืืจืก
ืคืืกืืืจืก ืืืื ืืช ืืขืจื CURRENT_TIMESTAMP ืฉื SQL Server ืืื ืืกืฃ ืืช ืืขืจืืื CURRENT_TIME ื CURRENT_DATE ืืื ืืงืื ืืช ืืืื ืื ืืชืืจืื ืื ืืืื. ืื ืืกืฃ ืืฉ ืคืื ืงืฆืื ืืฉื now() ืฉืืืืืจื ืืช ืืืชื ืขืจื. ืืฉืืื ืืืฉืืืื ืืฉ ืืืคืจืืืจ ืืฉื interval ืฉืขืืื ืื:
SELECT now() + INTERVAL '2 days'
ืขืืฉืื ืืชื
1. ืืฉืชืืฉื ืืืชืจ https://sqliteonline.com ืืื ื ืืช ืืืืช ืืืฉืืืืช ืขื ืื ืชืื ืื ืืืืืื ื SQL Server ืืืคืืกืืืจืก.
2. ืงืจืื ืขื ืืคืื ืงืฆืื strftime ืฉื SQLite ืืงืืฉืืจ https://www.sqlitetutorial.net/sqlite-date-functions/sqlite-strftime-function/.
3. ืงืจืื ืขื ืืคืื ืงืฆืื format ืฉื SQL Server ืืงืืฉืืจ https://learn.microsoft.com/en-us/sql/t-sql/functions/format-transact-sql?view=sql-server-ver161 419
ืกืืจืช SQL ืืกืืกื - ืคืืกื 17 - ืคืื ืงืฆืืืช ืืขืืืื ืขื ืืกืคืจืื
ืืืืืืื ืืฉืืื ืืื ืืื ืจืง ืืืชืืื ืื SQL ืืฉ ืขืื ืืื ืคืื ืงืฆืืืช ืฉืืืืืืช ืืขืืืจ ืื ื ืืขืืืื ืขื ืืกืคืจืื.
ืขืืืื ืืฉืืืื - round, ceil, floor
ืงืืืืจืื ืจืืฉืื ื ืฉื ืคืื ืงืฆืืืช ืืื ืืขืืืื ืืฉืืืื ืืคื ืืฉ ืื ื ืืืืจื ืืื ืฉืืืฉ ืคืื ืงืฆืืืช: ืืคืื ืงืฆืื floor ืืืืืจื ืืช ืืืกืคืจ ืืฉืื ืืืืื ืืืืชืจ ืฉืงืื ืืืฉืืจ ืฉืืขืืจื ื ืื, ืืคืื ืงืฆืื ceil ืืืืืจื ืืช ืืืกืคืจ ืืฉืื ืืงืื ืืืืชืจ ืฉืืืื ืืืฉืืจ ืฉืืขืืจื ื ืื ืืืคืื ืงืฆืื round ืชืืืืจ ืืช ืืืกืคืจ ืืฉืื ืืงืจืื ืืืืชืจ ืืขืจื ืฉืืขืืจื ื ืื. ืืื ืืืืืืืช:
1. ืืืืืจ 2, ืืขืฆื ืืืจืื ืืช ืืืืง ืฉืืืจื ืื ืงืืื:
select floor(2.6)
2. ืืืืืจ 3, ืื ืืืงื ืืช ืืืกืคืจ ืืฉืื ืืงืื ืืืืชืจ ืฉืืืื ืืืขืจื ืฉืืขืืจื ื:
select ceil(2.6)
3. ืืืืืจ 3, ืื ืืฉืืจ ืืืื ืื ืฉืืื ืืืฆื:
select round(2.6)
4. ืืืืืจ 2, ืื ืืฉืืจ ืงืื ืืืฆื:
select round(2.2)
ืฉืืื ืื ืฉื SQL Server ืืคืื ืงืฆืื ceil ื ืงืจืืช ceiling.
ืฉืืจืฉ ืืืืงื
ืืคืื ืงืฆืื sqrt ืืืืืจื ืฉืืจืฉ ื power ืืืืืจื ืืช ืืืกืคืจ ืืืืงื.
1. ืืืืืื ืฉืืจืฉ 9 ืืื 3:
select sqrt(9);
2. ืืืืื ื ืืกืคืช, 2 ืืืืงืช 3 ื ืืชื 8:
select pow(2, 3);
ืื ืื ื ืืืืืื ืืืฉืชืืฉ ืืคืื ืงืฆืืืช ืืื ืืื ืืืง ืฉื ืืฉืืืืชื - ืื ืืืฆืืช ืขืืืืืช, ืื ืืขืืืื ืขืืืืืช ืืื ื where.
ืฉืืื ืื SQL Server ืืฉืชืืฉ ืืฉื power ืืฉืืื ืคืื ืงืฆืืืช ืืืืงื.
ืืกืคืจ ืืงืจืื
ืืคืื ืงืฆืื random ืืืืืจื ืืกืคืจ ืืงืจืื ืืืฉื:
select random()
ืืืืืจื ืื ืืช ืืขืจื -823852169001874814. ืืขืืจืช ืงืฆืช ืืชืืืืงื ืื ื ืืืื ืืืคืื ืืช ืืืกืคืจ ืืขืจื ืืงืจืื ืืื ืืืื ืฉืื ื ืจืืฆื, ืืืืืื ืื ืื ื ืืงืื ืืกืคืจ ืืงืจืื ืืื 0 ื 99 ืืืื:
select MOD(abs(random()), 100);
ืืคืื ืงืฆืื abs ืืืืืจื ืขืจื ืฉืื, ืืืืืจ ืืืืืจื ืืช ืืืกืคืจ ืืื ืกืืื ืืืื ืืก (ืื ืืื ืื), ืืืคืื ืงืฆืื mod ืืืืืจื ืืช ืฉืืจืืช ืืืืืงื. ืืื ืื ืื ื ืืืงืืื ืืกืคืจ ืืงืจืื, ืืืจืืืื ืื ืืช ืืืื ืืก, ืื ืกืื ืืืืง ื 100 ืืืืงืืื ืืช ืืฉืืจืืช ืืื ืืกืคืจ ืืงืจืื ืืื 0 ื 99 ืืืื.
ืื ืื ื ืืืืืื ืืืฆืื ืฉืืืืฉ ืืขื ืืื ืืืกืคืจืื ืืงืจืืืื ืืฉื ืืืจ ืืืชื ืขื order. ืคืงืืืช order by ืืืคืฉืจืช ืื ื ืืงืืืข ืืช ืืืื ืืชืืฆืืืช ืฉื ืงืื, ืืื ื ืืืจ ืฉืืืืื ืืืื ืืคื ืืกืคืจ ืืงืจืื ื ืงืื ืชืืื ืชืืฆืืืช ืืงืจืืืืช:
select * from customers order by random();
ืฉืืื ืื ืืคืื ืงืฆืื random ื ืงืจืืช ื SQL Server ืืฉื rand.1 419
concat(upper(substr(last_name, 1, 1)), substr(last_name, 2)),
' ',
upper(substr(first_name, 1, 1))) as name
from customers;
ืืคืื ืงืฆืื substr ืขืืืืช ืืจืื ืืกืืกื ืื ืชืื ืื ืืื ื MS SQL ืืื ื ืงืจืืช substring.
ืืืืคืช ืืงืกื ืืืืจืืืช
ืืคืื ืงืฆืื replace ืืงืืืช ืืงืกื, ืืืจืืืช ืฉืฆืจืื ืืืืืืฃ ืืืงืกื ืืจืฉืื ืืืงืื ืืืืืืคื ืืช ืืืงืกื ืืขืจื ืฉืฆืจืื ืืจืฉืื ืืืงืืื. ืืืืืื ืฉื ืืืงืืืืช ืื ืื ื ืืืืืื ืืืืืจ ืืช ืืชืืืืช ืืืืืืื:
select id, email from customers;
ืืืงืื:
id email
5 david.wilson@example.com
4 emily.brown@example.com
2 jane.smith@example.com
1 john.doe@example.com
3 mike.johnson@example.com
ืืื ืืืฉืชืืฉ ื replace ืืื ืืขืืื ืืช ืื ืืชืืืืช ืืืืืืื ืืืกืืืืช example.com ืืกืืืืช gmail.com ืืืืคื ืืื:
update customers set email = replace(email, 'example.com', 'gmail.com');
ืขืืฉืื ืืชื
1. ืขืืื ื ืืช ืืืืช ืืืงืืืืช ืืืืกืืคื ืืฉื ืืืฉืคืื ืฉื ืื ืืงืื ืืช ืืืกืคืจ 5.
2. ืืืงื ืืช ืืืงืื david wilson ืืืืืื.
3. ืืืคืืกื ืืขืืืืช ืืืืืื ืจืง ืืช ืืืงืกื ืฉืืืคืืข ืืคื ื ืืกืืืืช gmail.com.
4. ืืฆืืื ืจืง ืืช ืืฉืืจืืช ืืื ืืืจื ืืชืืืช ืืืืืืื ืงืฆืจ ืืืชืจ ื 10 ืชืืืื. ืืื ืืืื ืฉืืจืืช? ืืื ืืกื ืืืช.1 419
ืกืืจืช SQL ืืกืืกื - ืคืืกื 16 - ืคืื ืงืฆืืืช ืืขืืืื ืขื ืืืจืืืืช
ืคืื ืงืฆืืืช ื SQL ืื ืืจื ืืืืืืจ ืืืฉืื ืขื ืืขืจื ืฉืฉืืืจ ืืืืื ืืื ืฉื ืืื ืืืฉืชืืฉ ืื ืืืฆืืช ืื ืชืื ืื, ืืขืืืื ืฉืืื ืื ืืฉืืืคืช ืฉืืจืืช ืืชืืืืืช. ืจืืื ื ืืื ืืืืืืืช ืืฉืืขืืจืื ืงืืืืื ืขื ืืืืืืื ืืฉืืื ืืื. ืืืืง ืื ืฉื ืืงืืจืก ื ืจืื ืืช ืืคืื ืงืฆืืืช ืฉืงืฉืืจืืช ืืกืืื ื ืชืื ืื ื ืืกืคืื - ืืืจืืืืช, ืืกืคืจืื ืืชืืจืืืื.
ืื, ืืฉ ืื ื ืืขืื ืฉื ืชืืืืืช
ืืืืชื ืคืื ืงืฆืืืช ื SQL ืืฉ ืืคืขืืื ืฉืืืช ืฉืื ืื ืืืกืืกื ื ืชืื ืื ืฉืื ืื. ืื ื ืืจืื ืืื ืืช ืืคืื ืงืฆืืืช ืขื SQLite ืืืช ืืฉืืืช ืฉืืื ืืืกืืกื ื ืชืื ืื ืืืจืื. ืืฉืืื ืืืืืช ืืืืืื ืฉืืชื ืืืชืืื ืฉืืืืชื ืฉืืชืืืื ืืืกืืก ืื ืชืื ืื ืืืชื ืืชื ืืืืืื ืืขืืื ืื ื ืืืืืฅ ืืืฉืชืืฉ ืืืชืจ:
https://sqliteonline.com
ืืื ืกืืช ืืช ืืคืงืืืืช ืขื ืืกืืก ืื ืชืื ืื ืฉืืชืืื ืืื.
ืืืจื ืืืจืืืช
ื ืชืืื ืขื ืืฆืืช ืืืจื ืืืืจืืืช ืืื ื ืืืฉืื ืืช ืืืืืื ืขื ืืืืช ืืืืืงืื ืืืฉืืขืืจ ืืงืืื. ืื ื ืืืืืจ ืฉืืฆืจืชื ืืืชื ืขื:
CREATE TABLE paper_clips (
id INTEGER PRIMARY KEY,
type VARCHAR(50) NOT NULL,
size VARCHAR(20),
color VARCHAR(20),
quantity INTEGER
);
INSERT INTO paper_clips (type, size, color, quantity) VALUES
('standard', 'medium', 'silver', 100),
('binder', 'large', 'black', 50),
('mini', 'small', 'red', 200),
('jumbo', 'extra_large', 'blue', 30),
('colored', 'medium', 'green', 150);
ืืคืื ืงืฆืื length ืืืืืจื ืืืจื ืฉื ืืืจืืืช. ืื ื ืืืื ืืืคืขืื ืืืชื ืืื ืืืื ืืืื ืืืืคื ืืื:
SELECT LENGTH('hello');
ืืืงืื 5, ืื ืขื ืืืื ืืื ืืงืื ืืืจื ืฉื ืืืช ืืขืืืืืช:
select id, type, size, color, quantity, length(size) from paper_clips;
ืืืชืืฆืื ืืืืืช ืขืืฉืื ืขืืืื ืฉืืฉืืช ืฉืืืืื ืืช ืืืืจื ืฉื ืขืืืืช ืืืืื. ื ืฉืื ืื ืฉื SQLite ืื ื ืืืื ืืืคืขืื ืื length ืขื ืขืืืื ืืกืคืจืืช ืืื ืืงืื ืืช ืืกืคืจ ืืกืคืจืืช ืืืกืคืจ, ืืื ืืืกืืกื ื ืชืื ืื ืืืจืื ืื ืื ืขืืื.
ืืคืฉืจ ืืืฉืชืืฉ ื length ืื ื where ืฉื ืืฉืืืืชื, ืืืฉื ืืืคืฉ ืืช ืื ืืฉืืจืืช ืืื ืืืืจื ืฉื ืืฆืืข ืฉื ืืกืืื ืืืื ื-4:
select id, type, size, color, quantity from paper_clips where length(color) > 4;
ืฉืืื ืื ืืืืื ืืื length(color) ื length('hello'). ืืฉืื ื ืืกืชืื ืขื ืืืจื ืฉื ืชืืื ืืืกืืก ืื ืชืื ืื ืฉืจืฉืื ืืขืืืื ืืกืืืืช ืื ื ืืืชื ืืช ืฉื ืืขืืืื ืืื ืืจืฉ ืกืืืื. ืืฉืื ื ืจืืฆื ืืงืื ืืืจื ืฉื ืืืื ืงืืืขื ืื ื ืืืื ืืืงืืฃ ืืืชื ืืืจืฉ.
ืืคืงืืื length ืขืืืืช ืืืกืืกื ื ืชืื ืื SQLite, PostgreSQL, MariaDB. ื SQL Server ืืื ื ืงืจืืช len.
ืืืืืจ ืืืจืืืืช
ื ืืฆืืจ ืืืื ืืืฉื ืฉื ืืงืืืืช ืขื ืืชืืื ืืื:
create table customers (
id integer primary key,
first_name varchar(50) not null,
last_name varchar(50) not null,
email varchar(100) unique not null
);
insert into customers (first_name, last_name, email) values
('john', 'doe', 'john.doe@example.com'),
('jane', 'smith', 'jane.smith@example.com'),
('mike', 'johnson', 'mike.johnson@example.com'),
('emily', 'brown', 'emily.brown@example.com'),
('david', 'wilson', 'david.wilson@example.com');
ืืคืงืืื ืืืื ืชืืืจ ืืช ืืฉื ืืคืจืื ืืฉื ืืืฉืคืื ืฉื ืืืงืื ืืขืืืื ืืืช, ืืืืื ืชืืคืืก ืื ืืช ืืืืจื ืืืืื ืฉื ืืฉื ืืคืจืื ืืฉื ืืืฉืคืื:
select
concat(first_name, ' ', last_name) as name,
length(concat(first_name, ' ', last_name)) as len
from customers;
ืฉืืื ืื ืฉื as ืื ืืืคืฉืจ ืื ืืืฉืชืืฉ ืืืืื name ืืืืฉื ืืฉืืจื, ืืื ืื ื ืื ืืืื ืืืฉืชืืฉ ืืคืื ืงืฆืื ืืชืื ืคืื ืงืฆืื ืืืฉืื ืืช concat ืขื length. ืืคืงืืื concat ืืงืืืช ืืกืคืจ ืืืจืืืืช ืืืืืจืช ืืืชื ืืื ืืขืืืื ืืืช.
ืืืชืื ืืืง ืืืืจืืืช
ืืคืงืืื substr ืืงืืืช ืืืจืืืช, ื ืงืืืช ืืชืืื ืืืืจื ืืืืชืืช ืจืง ืืช ืืืืง ืฉืืืงืฉื ื ืืชืื ืืืืจืืืช. ืืืืืื ื ืืื ืืืคืขืื:
select substr('hello', 2, 2)
ืื ืงืื ืืช ืืคืื el ืื ืืืช ืืืืื ืฉืืชืืืื ืืืืช ืืฉื ืืื ืืืืจืื ืฉืชื ืืืชืืืช ืืชืื ืืืืจืืืช ืืืืืื ืืืชืจ hello. ืืืืจื ืืืืืช ืืืงืืืืช ื ืืื ืืงืืช ืจืง ืืช ืืืืช ืืจืืฉืื ื ืฉื ืืฉื ืืคืจืื ืืืืืจ ืืืชื ืืฉื ืืืฉืคืื ืืืืคื ืืื:
select id, concat(last_name, ' ', substr(first_name, 1, 1)) from customers;
ืืคืื ืงืฆืืืช upper ื lower ืืืคืฉืจืืช ืืืคืื ืืงืกื ืืืืชืืืช ืืืืืืช ืื ืงืื ืืช, ืืื ื ืืื ืืขืืื ืืช ืืืชื ืืืช ืจืืฉืื ื ืฉืชืืคืืข ืืืืช ืืืืื:
select id, concat(last_name, ' ', upper(substr(first_name, 1, 1))) from customers;
ืืืืืืื ืืืช ืืืืื ืืขืืื ืื ืืช ืฉื ืืืฉืคืื ืื ืฉืืชืืื ืืืืช ืืืืื:
select
id,
concat(1 419
ืกืืจืช SQL ืืกืืกื - ืคืืกื 15 - ืืฉืคื WHERE
ืคืงืืืืช select ื update ืืืืืืช ืืืกืชืืื ื where ืืื ืืืืืง ืืช ืืฉืืจืืช ืขืืืื ืขืืืืื. ืจืืื ื ืืฉืืขืืจืื ืงืืืืื ืืื ืืืฉืชืืฉ ื where ืืื ืืืฆืื ืฉืืจืืช ืขื ืขืจื ืฉืฉืืื ืืขืจื ืงืืืข ืืกืืื ืื ืฉืืจืืช ืขื ืขืจืื NULL. ืืฉืืขืืจ ืื ื ืจืื ืขืื ืืื ืืคืฉืจืืืืช ืืฉืืืืฉ ืืืฉืคืื where.
ืฉืื ื, ืืืื ื, ืงืื ื
ืืืจื ืืฉืืื ืืืืื ืฉืฆืจืืืื ืืืืฉืื ืืฉืื ื ืืืื ืืงืื. ืืืื ื ืืฆืืจ ืงืฆืช ื ืชืื ืื:
CREATE TABLE paper_clips (
id INTEGER PRIMARY KEY,
type VARCHAR(50) NOT NULL,
size VARCHAR(20),
color VARCHAR(20),
quantity INTEGER
);
INSERT INTO paper_clips (type, size, color, quantity) VALUES
('standard', 'medium', 'silver', 100),
('binder', 'large', 'black', 50),
('mini', 'small', 'red', 200),
('jumbo', 'extra_large', 'blue', 30),
('colored', 'medium', 'green', 150);
ืืืฉืืืืชืืช:
1. ื ืฆืื ืืช ืื ืืฉืืจืืช ืฉืฆืืขื ืฉืื ื ืืืกืฃ:
SELECT * FROM paper_clips WHERE color != 'silver';
2. ื ืฆืื ืืช ืื ืืฉืืจืืช ืฉืืืืืช ืฉืืื ืืืืื ื 100:
SELECT * FROM paper_clips WHERE quantity > 100;
3. ืืืืช ืงืื ื ื 100:
SELECT * FROM paper_clips WHERE quantity < 100;
4. ืืืืช ืืืืื ืื ืฉืืื 50:
SELECT * FROM paper_clips WHERE quantity >= 50;
5. ืืืื ืืืื ืืืชืจ ื hello:
SELECT * FROM paper_clips WHERE size > 'hello';
ืืฉืืืืชื ืืืืจืื ื ื ืฉืืขืช ืืืืจื - ืื ืื ืืืืจ ืฉืืืืื ืืืื ืืืชืจ ืืืืืื hello? ืืจื ืืืื ืืื ืืืจืืืช? ืืชืฉืืื ืฉื SQL ืื ืื ื ืืฉืืืื ืืืจืืืืช ืืคื ืืืืงืื ืฉืืื ืืกืืจ ืืืืื ื, ืืืืืื ืืืื ืฉืืชืืืื ื d ืชืืื ืืืืื ืืืชืจ ืืืืื ืฉืืชืืืื ื a.
ืืื
ืืืืื between ืืืคืฉืจืช ืืืืืจ ืขืจืืื ืฉื ืืฆืืื ืืืืื ืืกืืื ืืืืืื ืื ืืฉืืจืืช ืืื ืืืืืช ืืื ืืื 20 ื 50:
SELECT * FROM paper_clips WHERE quantity between 20 and 50;
ืชื ืื between ืืืื ืืช ืฉื ื ืืขืจืืื ืฉืืงืฆื ืืืื ืืฉืืืืชื ืชืืืืจ ืื ืฉืืจืืช ืืื ื quantity ืืื 20, 50 ืืื ืื ืฉืืื ืืื.
ืืื ื
ืืืืื in ืืืคืฉืจืช ืืืืืจ ืฉืืจืืช ืืื ืืขืจื ืฉืื ืื ื ืืืคืฉืื ืืื ืืื ืืืื ืขืจืืื ืงืืืขืื. ืืืืืื ืืฆืืช ืื ืืฉืืจืืช ืืื ืืืืื ืืื large ืื small:
select * from paper_clips where size in ('large', 'small');
ืืืืืจ ืชื ืืื (ืื, ืืื, ืื)
ื ืืชื ืืืืจ ืืกืคืจ ืชื ืืื ืืคืงืืืช WHERE ืืืืฆืขืืช ืืืืืื AND, OR ื NOT. ืืืืื OR ืชืืืืจ ืชื ืื ืฉืืฆืืื ืื ืืื ืืืชื ืืื ืฉืืจืืืืื ืืืชื ืืื ืืืืชื, ืืืืื AND ืืืจืฉืช ืฉืื ืืชื ืืื ืฉืืจืืืืื ืืช ืืชื ืื ืืืืื ืืืื ืืืืชืืื ืืืืืื NOT ืืืคืืช ืชื ืื. ืืื ืืืืืืืช:
1. ื ืฆืื ืืช ืื ืืฉืืจืืช ืืื ืืืืื ืืื ืืื ืื ื ืื ืืืื ืืื ืืืืืช ืืขื 100:
select * from paper_clips where size in ('large', 'small') AND quantity > 100;
2. ื ืฆืื ืืช ืื ืืฉืืจืืช ืืื ืืืืืช ืงืื ื ื 50 ืื ืืืืื ื 150:
select * from paper_clips where quantity < 50 OR quantity > 150;
3. ืืฆืืช ืื ืืฉืืจืืช ืืื ืืืืื ืืื "ืงืื" ืื "ืืื ืื ื" ืืืืืืช ืงืื ื ื 50, ืื ืฉืืืืืช ืืืืื ื 150:
select * from paper_clips where
(quantity < 50 AND size in ('small', 'medium'))
OR quantity > 150;
4. ืืฆืืช ืื ืืฉืืจืืช ืืื ืืฆืืข ืืืื ืืืืืืช ืืืืื ื 100:
select * from paper_clips where color = 'red' AND quantity > 100;
5. ืืฆืืช ืื ืืฉืืจืืช ืืืื ืืื ืฉืืชืืืื ื-4:
select * from paper_clips where NOT (color = 'red' AND quantity > 100);
ืฉืืื ืื ืฉืื ื ืืฉืชืืฉ ืืกืืืจืืื ืืื ืืืืจ ืชื ืืื ืืฉืืืืืืจ ืืกืืื ืืื ืืืืืืจ ืืงืืจื ืืืืืฉื ืื ืกืืจ ืืคืขืืืืช ืืืืฆืืข - ืืืืืื ืืืืจืื ื ืืื ืืืืืืจ ืฉื NOT ืืืคืขื ืขื ืื ืืชื ืื ืฉืืืจืื, ืื AND ืืืคืขื ืจืง ืขื ืฉื ื ืืชื ืืื ืฉืฆืืืืื ืืืื.1 419
ืกืืจืช SQL ืืกืืกื - ืคืืกื 14 - ืขืจืืื ืจืืงืื
ืืขืจื ืืืืืื NULL ืืืืฆื ื SQL ืืฆื ืื ืื ืื ื ืื ืืืืขืื ืื ืืขืจื ืืขืืืื ืื ืฉืขืจื ืืขืืืื ืื ืงืืื. ืืฉืืขืืจ ืื ืืจืื ืืกืคืจ ืืืฉืื ืืขืืืื ืืืชื.
ืืื ืกืช ืขืจืืื ืจืืงืื
ืคืงืืืช INSERT ืฉืื ืืฆืืื ืช ืขืืืื ืืืช ืื ืืืชืจ ืชืืจืื ืืืื ืกืช ืืขืจื NULL ืืืืชื ืขืืืื ืฉืื ืืืคืืขื ืืคืงืืื, ืืื ืื ืื ืืืืชื ืขืืืื ืืืืืจ ืขืจื ืืจืืจืช ืืืื. ืืืืืื:
create table demo(id integer primary key,
a integer default 0,
b integer,
c varchar(20),
d varchar(50) default 'Unknown');
insert into demo(c) values('hello');
select * from demo;
ืืืืืจื ืื ืืืื ืขื ืืฉืืจื ืืืืืืช:
id a b c d
1 0 hello Unknown
ืืขืืืื c ืงืืืื ืืช ืืขืจื hello ืืคืงืืืช ืืืื ืกื, ืืขืืืื d ืงืืืื ืืช ืืขืจื Unknown ืื ืื ืืื ืขืจื ืืจืืจืช ืืืืื ืฉืื, ืืขืืืื id ืงืืืื ืืช ืืขืจื 1 ืฉืื id ืฉื ืืฆืจ ืืืืืืืืช ืืืขืืืื a ืงืืืื ืืช ืืขืจื 0 ืื ืื ืืื ืขืจื ืืจืืจืช ืืืืื ืฉืื. ืืขืืืื b ืืขืืืช ืืืช ื ืฉืืจื ืจืืงื, ืืืืืจ ืืืืื ืืช ืืขืจื ืืืืืื NULL.
ืืคืฉืจ ืื ืืืื ืืก NULL ืืฉืื ืื ื ืืืฆืขืื ืืื ืกื ืฉื ืืกืคืจ ืฉืืจืืช, ืื ืื ืืฉ ืืืจ ืืืืจืช ืขืจื ืืจืืจืช ืืืื ืืขืืืื ืืืืืื ืืคืงืืื ืืืื ืฉืืืจืช ืืช ืืขืจื NULL ืืขืืืื a, ืืืจืืช ืฉืืขืืืื ืืืืืจ ืขืจื ืืจืืจืช ืืืื:
insert into demo(a) values(null);
ืืืคืงืืื ืืืื ืืืกืืคื ืืกืคืจ ืฉืืจืืช ืืฉืืืฉ ืืื ืืฉ ืขืจื ืืขืืืื b ืืืืืช ืืขืืืื ืชืืฉืืจ ืจืืงื, ืืืืืจ ืขื ืืขืจื NULL:
insert into demo(b) values (5), (8), (null), (9);
ืืฉืืื ืืืืกืืฃ ืฉืืจื ืฉืืืจืืืช ืจืง ืืขืจืื ืืจืืจืช ืืืืื ืืืืื ืื ื ืืืื ืืืคืขืื:
insert into demo default values;
ืืืคืืฉ ืขืจืืื ืจืืงืื (ืื ืื ืจืืงืื)
ืื ืขืจืื ื NULL ืฉืื ืื ืื ืืื ืืืื ืื ืืคืฉืจ ืืืคืฉ ืืืืื ืฉืืจืืช ืขืจื ืฉื ืขืืืื ืืกืืืืช ืฉืืื ื NULL. ืืฉืืืืชื ืืืื ืชืืืืจ ืชืืฆืื ืจืืงื:
SELECT * FROM demo WHERE b = NULL;
ืืืงืื ืื ืื ืื ื ืฆืจืืืื ืืืฉืชืืฉ ืืคืื ืงืฆืื IS_NULL. ืืืจื ืื ืืื ื ืืืฆืื ืืช ืื ืืฉืืจืืช ืขืืืจื ืืฉ ืขืจื ืจืืง ืืขืืืื b ืืื:
SELECT * FROM demo WHERE b IS NULL;
ืืคืฉืจ ืื ืืืคืฉ ืืช ืื ืืฉืืจืืช ืืื ืืขืจื ืฉื b ืืื ื NULL ืขื ืืคืงืืื:
SELECT * FROM demo WHERE b IS NOT NULL;
ืืคืื ืงืฆืื COALESCE
ืืขืืืื ืขื NULL ืืืื ืฉืืืืชืืช ืืื ืื ื ืจืฆื ืืจืืืช ืืืืฉืื ืขืจื ืืจืืจืช ืืืื ืืืงืื ืืขืจื ืืจืืง ืืขืืืื. ืืืฆืืื ืืืื ื ืืื ืืืฉืชืืฉ ื COALESCE. ืคืื ืงืฆืื ืื ืืงืืืช ืืกืคืจ ืขืจืืื ืืืืืืจื ืืช ืืจืืฉืื ืืื ืืื ืฉืืื ื NULL.
ืืฉืืื ืืืฉืชืืฉ ืื ื ืขืืืจ ืืคืจืืืจ ืจืืฉืื ืืคืื ืงืฆืื ืขืืืื ืฉืืืื ืืฉ ืื ืขืจื NULL ืืืคืจืืืจ ืฉื ื ืขืจื ืืจืืจืช ืืืื ืฉืืืฆื ืื ืืขืจื ืืจืืฉืื ืืื NULL. ืืืืืื ืื ืืืงืื ืขืจืืื ืจืืงืื ืืืืืื ืื ื ืจืืฆื ืฉืืืฆื ืืืกืคืจ 0 ืื ื ืืืชื:
SELECT id, a, coalesce(b, 0), c, d FROM demo;
ืืืชืืฆืื:
id a coalesce(b, 0) c d
1 0 0 hello Unknown
2 0 Unknown
3 0 5 Unknown
4 0 8 Unknown
5 0 0 Unknown
6 0 9 Unknown
7 0 0 Unknown
ืขืืฉืื ืืชื
1. ื ืกื ืืืื ืืก NULL ืืื ืืืช ืืืขืืืืืช ืืืืื (ืืืื id). ืื ืงืืจื?
2. ืืืงื ืืช ืื ืืฉืืจืืช ืขืืืจื ืืขืจื ืฉื b ืืื NULL.
3. ืืืงื ืืช ืื ืืฉืืจืืช ืขืืืจื ืืขืจื ืฉื d ืืื ื NULL.
4. ืฆืจื ืืืืฉ ืืื ืฉืืจืืช ืขื ืืขืจื NULL ืืขืืืื b ืืื ืขืืื ื ืืช ืื ืืฉืืจืืช ืืื ืืขืจื ืฉื b ืืื NULL ืืืืืืง ืืช ืืขืจื 5.1 419
ืกืืจืช SQL ืืกืืกื - ืคืืกื 13 - ืชืจืืื ืขืืืื ืขื ืืืืข
ืชืจืืื ืืขืจืืช ืขืืืืื
ืฆืจื ืืกืืก ื ืชืื ืื ืืืฉ ืืื ืืืื ืืืืืช ืืฉื employees ืขื ืืขืืืืืช:
1.
id
2. first_name
3. last_name
4. email
5. hire_date
6. salary
ืืฉืื ืืืื ืกืื ืืืืข ืืชืืื ืืื ืขืืืื.
ืืืจื ืืฆืืจืช ืืืืื ืืืกืืคื ืขืืืื ืืฉื role ืฉืืชืืจืช ืืช ืืชืคืงืื ืฉื ืืขืืื ืืืืจื, ืืื ืืื ืืกื ืืกืคืจ ืฉืืจืืช ืืืืื.
ืขืืื ื ืืช ืื ืืขืืืืื ืฉืืฆืืจืคื ืืืืจื ืืืจื ืฉื ืช 2020 ืืืขืื ืืื ืืช ืืืฉืืืจืช ื 10%.
ืืกืืื ืืืงื ืืช ืืืืื.
ืืฉืืืช ืกืคืจืื
ืฆืจื ืืกืืก ื ืชืื ืื ืืืฉ ืืื ืืืื ืืืืืช ืืฉื books ืขื ืืขืืืืืช:
1. id
2. title
3. author
4. publication_date
5. genre
ืืืกืืคื ืขืืืื ืืฉื status ืฉืฆืจืืื ืืฉืืืจ ืืื ืืกืคืจ ื ืืฆื ืืจืืข ืืืฉืืื ืื ืฉืืื ืขื ืืืืฃ ืืขืืืื ืืฉื return_date ืฉืชืืืืง ืืช ืืชืืจืื ืื ืฆืจืืืื ืืืืืืจ ืืช ืืกืคืจ (ืื ืืื ืื ืืืฉืืื ืืขืืืื ืชืืื ืจืืงื).
1. ืืืกืืคื ืืกืคืจ ืฉืืจืืช ืืืืืจ ืืื ืขืืื ื ืืช ืืืช ืืื ืืขืืืจ ืืืฉืืื ืืฆืืื ื ืื ืชืืจืื ืืืืจื.
2. ืืฆืืื ืืช ืื ืื'ืื ืจืื ืฉื ืืกืคืจืื ืืื ืืคืืืืืืช.
3. ืืืงื ืืช ืื ืืกืคืจืื ืฉื ืืฆืืื ืืืฉืืื
4. ืืืงื ืืช ืืืืื.1 419
ืกืืจืช SQL ืืกืืกื - ืคืืกื 12 - ืขืื ืืื ืืืืืืช ืฉื SELECT
ืื ื ืขืื ืืื ืืืืืืช ืฉื ืคืงืืืช SELECT ืฉืืขืืจื ืื ื ืืืชืืืช ืฉืืืืชืืช.
ืืืชืจืืช ืืขืืืืืช
ืื ืงืืจื ืืฉืฉื ืืขืืืื ืืืกืืก ืื ืชืื ืื ืืจืื ืืื ืื ืื ืืกืคืืง ืืื ืคืืจืืืืื? ืืคืงืืื SELECT ืืืคืฉืจืช ืื ื ืืืืืืจ ืืืชืจืช ืืืจืช ืืขืืืื ืืืืฆืขืืช ืืืกืคืช ืืืืื as ืืืจื ืฉื ืืขืืืื. ืื ื ืจืื ืืื (ื ืกื ืืช ืื ืขื ืืกืืก ืื ืชืื ืื ืืืืืื ืฉื SQLime):
SELECT id, name, city as City, salary as 'Hourly Wage' from employees;
ืฉืืื ืื ืฉืืช City ืืชืืชื ืืืืื ืืืืืช ืืืจื as, ืืื ืืช Hourly Wage ืืืจ ืืงืคืชื ืืืจืฉ ืืืื ืื ืืืืืจ ืืืื ืืืืื.
ืขืจืืื ืืืืฉืืื
ืืฉืืขืืจ ืขื ืขืืืื ืจืืื ื ืฉืื ืื ื ืืืืืื ืืขืืื ืขืจื ืืืืืช ืชืืฆืื ืฉื ืืืืื ืืฉืืื ื. ืืขื ืืื ืืฉืื ืื ืฉืื ื SELECT ื ืืชื ืืจืฉืื ืืืืื ืืฉืืื ื ืืืงืื ืืช ืขืจื ืืขืืืื ืืืจื ืืคืขืืช ืืืืืื. ืืืืืื ืืืื ืืฆืืื ืืช ืืืฉืืืจืช ืืชืืกืคืช 10%:
SELECT *, salary * 1.1 as 'After Raise' from employees;
id name city department salary After Raise
11 Diane London hr 70 77
12 Bob London hr 78 85.80000000000001
21 Emma London it 84 92.4
22 Grace Berlin it 90 99.00000000000001
23 Henry London it 104 114.4
24 Irene Berlin it 104 114.4
25 Frank Berlin it 120 132
31 Cindy Berlin sales 96 105.60000000000001
32 Dave London sales 96 105.60000000000001
33 Alice Berlin sales 100 110.00000000000001
ืืืืจื ืืื ืืืื
ืคืงืืืช SELECT ืืืืื ืื ืืขืืืจ ืื ื ืื ืืกืืืื ืขื SQL ืืคืืื ืืฉืืื ืืืื, ืืืืืื ืืฉืืื ืคืขืืืืช ืืฉืืื ื ืืื ืืืชืื:
select 2 + 5;
ืื ืงืื ืืช ืืชืืฆืื 7. ืื ืืฉืืื ืืงืื ืืกืคืจ ืขืืืืืช ื ืืื ืืืชืื:
select 2 as "A", 3 as "B", 5 as "C";
ืืฆืืช ืขืจืืื ืืืืืืืื
ื ืชืืื ื ืืชืืฆืืืช ืฉื:
select id, name, city, department from employees;
ืื ืื ื ืจืืืื ืฉืืขืืืืื ืืืืืงืื ืืื ืืืืืงืืช hr, it ื sales. ืืคืฉืจ ืื ืกืืช ืืืืคืืก ืจืง ืืช ืฉืืืช ืืืืืงืืช ืืื ื ืงืื:
select department from employees;
department
hr
hr
it
it
it
it
it
sales
sales
sales
ืฉืื ืืืืืง ืืจืฉืืื ืื ืืื ื ืืื ืืื ืื ืืฉืืจืืช ืืืคืืืืช? ืืชืฉืืื ืืื ืฉืื ืฉืืืจืชื ืขืืืื ืืกืืืืช ืื ืืืืจ ืืืื ืขื ืืขืืืืืช ืืืืจืืช, ืืืืืื ืช SQL ืืื ืืฆืื ืืช ืืขืจื ืฉื ืขืืืืช department ืืื ืืืช ืืืฉืืจืืช. ืื ื ืืืื ืืืงืฉ ื select ืืฆืืฆื ืขืจืืื ืืคืืืื ืืขืืจืช ืืืืื distinct. ืื ื ืจืื ืืื:
select distinct department from employees;
ืืืชืืฆืื:
department
hr
it
sales1 419
ืกืืจืช SQL ืืกืืกื - ืคืืกื 11 - ืขืืืื ืืืืืืช
ืืืืืืืืช ืืืชืจืืืืื ืืงืืจืก ืืื ืืืืื ืฉืื ื ืงืืื ืื ืื ืื ื ืืืืขืื ืืจืืฉ ืืืื ืืืืข ืืืฉืืจ ืืืืืืืช. ืืืืื ืืืืืชืืื ืืคืขืืื ืื ืื ื ืืืืื ืฉืฉืืื ื ืขืืืื ืื ืฉืืขืื ื ืืืื ืืฉืืืช ืืจืื ืืืจื ืฉืืฆืจื ื ืืช ืืืืื ืืืคืืื ืืืจื ืฉืืืจ ืืื ืกื ื ืืืืข ืืืื.
ืืืกืคืช ืขืืืื
ืื ืืฆืจืชื ืืืื ืืืชื ืฆืจืืืื ืืืืกืืฃ ืื ืขืืืื, ืืื ืจืืฆืื ืืืืืง ืืช ืืืืื ืืืืฆืืจ ืืืชื ืืืืฉ (ืื ืืืจ ืืฉ ืื ืืืืข ืืฉืื) ืชืืืื ืืืคืขืื ืืช ืืคืงืืื
alter table ืขื ืืืืง add. ื ืืฆืืจ ืืืืฉ ืืช ืืืืืช ืืืืื ืืืืช ืฉืื ื ืืืฉืืขืืจ ืืงืืื:
CREATE TABLE planets (
id INTEGER PRIMARY KEY,
name VARCHAR(50),
diameter_km FLOAT,
distance_from_sun_mkm FLOAT,
number_of_rings INTEGER
);
INSERT INTO planets (id, name, diameter_km, distance_from_sun_mkm, number_of_rings) VALUES
(1, 'Mercury', 4879.4, 57.9, 0),
(2, 'Venus', 12104, 108.2, 0),
(3, 'Earth', 12742, 149.6, 0),
(4, 'Jupiter', 139820, 778.5, 4),
(5, 'Saturn', 116460, 1434, 7);
ืืขืืฉืื ื ื ืื ืฉืืืืื ื ืฉืื ืื ื ืฆืจืืืื ืืืขืช ืื ืืื ืืจืืื ืืฉ ืืื ืืืื. ืืคืงืืื ืืืื ืชืืกืืฃ ืขืืืื ืืืฉื ืขื ืขืจื ืืจืืจืช ืืืื ืืื ืืืืืง ืืช ืื ืชืื ืื ืืงืืืืื:
alter table planets add moons integer default 0;
ืืื ื ืืคืงืืื:
1. ืืชืืืืื ืขื alter table
2. ืืืืจ ืืื ืฉื ืืืืื
3. ืืืจื ืื ืืืืื add
4. ืฉื ืืขืืืื ืืืืกืคื
5. ืกืื ืืืืืข ืืขืืืื ืืืจืืืืช ื ืืกืคืืช ืขื ืกืื ืืืืืข (ืืื ืขืจื ืืจืืจืช ืืืื ืื UNIQUE ืื NOT NULL).
ืืคืฉืจ ืื ืืืืชืจ ืขื ืขืจื ืืจืืจืช ืืืืื ืืื ืืขืจืืื ืืขืืืื ืืืฉืืจื ืจืืงืื ืขื ืฉื ืขืืื ืืืชื ืขื update. ืืืืืื:
update planets set moons = 1 where name = 'Earth'
ืืืืงืช ืขืืืื
ืืฉืืื ืืืืืง ืขืืืื ืืืืื ืื ื ืืฉืชืืฉ ืืืืืง drop column ืืืจื ืืชืืืืืช alter table, ืืืืืื ืืฉืืื ืืืืืง ืืช ืขืืืืช ืืืจืืื ืืืืฉื ืฉืืฆืจืชื ืื ื ืืคืขืื:
alter table planets drop column moons;
ืฉืื ืื ืฉื ืขืืืื
ืืฉืืื ืืฉื ืืช ืฉื ืฉื ืขืืืื ืื ื ืืฉืชืืฉ ืืืืืง rename column ืืืจื ืืชืืืืืช alter table. ืืืืืื ืืฉืืื ืืฉื ืืช ืืช ืฉื ืืขืืืื name ื planet_name ืื ื ืืืื ืืืชืื:
alter table planets rename column name to planet_name;
ืืืืงืช ืืืื
ืืื ื ืืืก ืืื ืืืืจื ืืืืืื ืืชื ืื ืฆืจืืืื ืืืืืง ืืช ืื ืืกืืก ืื ืชืื ืื. ืืคืงืืื drop table ืชืืืง ืืืื ืืืช ืื ืื ืชืื ืื ืฉืื:
drop table planets;
Available now! Telegram Research 2025 โ the year's key insights 
