เดเดธเตโเดเตเดฏเตเดเตฝ เดญเดพเดท เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดฑเดฟเดฒเตเดทเดฃเตฝ เดกเดฟเดฌเดฟเดเดเดเดธเตเดเดณเดพเดฃเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเตเดเดณเตเดเต เดฒเตเดเดคเตเดคเต เดฆเตเตผเดเดเดพเดฒเด เดเดงเดฟเดชเดคเตเดฏเด เดชเตเดฒเตผเดคเตเดคเตเดจเตเดจเดคเต. เดเดฏเตผเดจเตเดจเตเดตเดฐเตเดจเตเดจ เดตเดเดญเตเดฆเดเตเดเดณเต NoSQL เดเดจเตเดจเต เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเต. เด เดตเดฟเดชเดฃเดฟเดฏเดฟเตฝ เดคเดเตเดเตพเดเตเดเดพเดฏเดฟ เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดธเตเดฅเดฒเด เดเดฃเตเดเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต เด เดตเตผเดเตเดเต เดเดดเดฟเดเตเดเต, เดเดจเตเดจเดพเตฝ เดฑเดฟเดฒเตเดทเดฃเตฝ เดกเดฟเดฌเดฟเดเดเดเดธเตเดเตพ เดฎเดฐเดฟเดเตเดเดพเตป เดชเตเดเตเดจเตเดจเดฟเดฒเตเดฒ, เด เดตเดฐเตเดเต เดเดตเดถเตเดฏเดเตเดเตพเดเตเดเดพเดฏเดฟ เดธเดเตเดตเดฎเดพเดฏเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เดคเตเดเดฐเตเดจเตเดจเต.
เด เดฒเตเดเดจเดคเตเดคเดฟเตฝ เดเดฐเต เดซเดเตเดทเดฃเตฝ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดเดจเตเดจ เดเดถเดฏเด เดตเดฟเดตเดฐเดฟเดเตเดเดพเตป เดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต. เดเดฐเต เดฎเดฟเดเดเตเด เดงเดพเดฐเดฃเดฏเตเดเตเดเดพเดฏเดฟ, เดเตเดฒเดพเดธเดฟเดเตเดเตฝ เดฑเดฟเดฒเตเดทเดฃเตฝ เดฎเตเดกเดฒเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด เดเตเดฏเตเดคเตเดเตเดฃเตเดเต เดเดพเตป เดเดคเต เดเตเดฏเตเดฏเตเด. เดเดจเตเดฑเตผเดจเตเดฑเตเดฑเดฟเตฝ เดเดฃเตเดเตเดคเตเดคเดฟเดฏ เดตเดฟเดตเดฟเดง SQL เดเตเดธเตเดฑเตเดฑเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดชเตเดฐเดถเตเดจเดเตเดเตพ เดเดฆเดพเดนเดฐเดฃเดเตเดเดณเดพเดฏเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเด.
เดเดฎเตเดเด
เดฑเดฟเดฒเตเดทเดฃเตฝ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเตเดเตพ เดเตเดฌเดฟเดณเตเดเดณเดฟเดฒเตเด เดซเตเตฝเดกเตเดเดณเดฟเดฒเตเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต. เดเดฐเต เดซเดเตเดทเดฃเตฝ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเตฝ, เดเตเดฒเดพเดธเตเดเดณเตเด เดซเดเดเตเดทเดจเตเดเดณเตเด เดฏเดฅเดพเดเตเดฐเดฎเด เดเดชเดฏเตเดเดฟเดเตเดเตเด. N เดเตเดเดณเตเดณเตเดณ เดเดฐเต เดชเดเตเดเดฟเดเดฏเดฟเดฒเต เดเดฐเต เดซเตเตฝเดกเต N เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเดณเตเดเต เดเดฐเต เดซเดเดเตโเดทเดจเดพเดฏเดฟ เดชเตเดฐเดคเดฟเดจเดฟเดงเตเดเดฐเดฟเดเตเดเตเด. เดชเดเตเดเดฟเดเดเตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดฌเดจเตเดงเดคเตเดคเดฟเดจเต เดชเดเดฐเด, เดเดฃเดเตเดทเตป เดเดฃเตเดเดพเดเตเดเดฟเดฏ เดเตเดฒเดพเดธเดฟเดฒเต เดเดฌเตเดเดเตเดฑเตเดฑเตเดเตพ เดคเดฟเดฐเดฟเดเต เดจเตฝเดเตเดจเตเดจ เดซเดเดเตเดทเดจเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเด. JOIN-เดจเต เดชเดเดฐเด เดซเดเดเตโเดทเตป เดเตเดฎเตเดชเตเดธเดฟเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเตเด.
เดเดพเดธเตเดเตเดเตเดเดณเดฟเดฒเตเดเตเดเต เดจเตเดฐเดฟเดเตเดเต เดจเตเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต, เดกเตเดฎเตเดฏเตเตป เดฒเตเดเดฟเดเตเดเดฟเดจเตเดฑเต เดเตเดฎเดคเดฒ เดเดพเตป เดตเดฟเดตเดฐเดฟเดเตเดเตเด. DDL-เดจเต เดเดพเตป PostgreSQL เดตเดพเดเตเดฏเดเดเดจ เดเดชเดฏเตเดเดฟเดเตเดเตเด. เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเต เด เดคเดฟเดจเตเดฑเตเดคเดพเดฏ เดตเดพเดเตเดฏเดเดเดจเดฏเตเดฃเตเดเต.
เดชเดเตเดเดฟเดเดเดณเตเด เดซเตเตฝเดกเตเดเดณเตเด
เดชเตเดฐเตเด เดตเดฟเดฒเดฏเตเด เดเดณเตเดณ เดเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ Sku เดเดฌเตโเดเดเตเดฑเตเดฑเต:
เดฑเดฟเดฒเตเดทเดฃเตฝ
CREATE TABLE Sku
(
id bigint NOT NULL,
name character varying(100),
price numeric(10,5),
CONSTRAINT id_pkey PRIMARY KEY (id)
)
เดชเตเดฐเดตเตผเดคเตเดคเดจเดฏเตเดพเดเตเดฏเดฎเดพเดฏ
CLASS Sku;
name = DATA STRING[100] (Sku);
price = DATA NUMERIC[10,5] (Sku);
เดเดเตเดเตพ เดฐเดฃเตเดเตเดฃเตเดฃเด เดชเตเดฐเดเตเดฏเดพเดชเดฟเดเตเดเตเดจเตเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ, เดเดคเต เดเดฐเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเตผ Sku เดเตปเดชเตเดเตเดเดพเดฏเดฟ เดเดเตเดคเตเดคเต เดเดฐเต เดชเตเดฐเดพเดเตเดค เดคเดฐเด เดจเตฝเดเตเดจเตเดจเต.
เดเดฐเต เดซเดเตเดทเดฃเตฝ เดกเดฟเดฌเดฟเดเดเดเดธเดฟเตฝ เดเดฐเต เดเดฌเตเดเดเตเดฑเตเดฑเดฟเดจเตเด เดธเตเดตเดฏเดฎเตเดต เดเดจเดฑเตเดฑเตเดฑเตเดเตเดฏเตเดฏเตเดจเตเดจ เดเดฟเดฒ เดเดจเตเดคเดฐเดฟเด เดเตเดกเต เดเดฃเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเตเดฎเตเดจเตเดจเตเด เดเดตเดถเตเดฏเดฎเตเดเตเดเดฟเตฝ เดเดเตโเดธเดธเต เดเตเดฏเตเดฏเดพเดฎเตเดจเตเดจเตเด เด เดจเตเดฎเดพเดจเดฟเดเตเดเดชเตเดชเตเดเตเดจเตเดจเต.
เดเตฝเดชเตเดชเดจเตเดจเด/เดธเตเดฑเตเดฑเตเตผ/เดตเดฟเดคเดฐเดฃเดเตเดเดพเดฐเดจเต เดตเดฟเดฒ เดจเดฟเดถเตเดเดฏเดฟเดเตเดเดพเด. เดเดคเต เดเดพเดฒเดเตเดฐเดฎเตเดฃ เดฎเดพเดฑเดฟเดฏเตเดเตเดเดพเด, เด เดคเดฟเดจเดพเตฝ เดชเดเตเดเดฟเดเดฏเดฟเดฒเตเดเตเดเต เดเดฐเต เดธเดฎเดฏ เดซเตเตฝเดกเต เดเตเตผเดเตเดเดพเด. เดเตเดกเต เดเตเดฑเตเดคเดพเดเตเดเดพเตป เดเดฐเต เดฑเดฟเดฒเตเดทเดฃเตฝ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเดฒเต เดกเดฏเดฑเดเตเดเดฑเดฟเดเตพเดเตเดเตเดณเตเดณ เดชเดเตเดเดฟเดเดเตพ เดชเตเดฐเดเตเดฏเดพเดชเดฟเดเตเดเตเดจเตเดจเดคเต เดเดพเตป เดเดดเดฟเดตเดพเดเตเดเตเด:
เดฑเดฟเดฒเตเดทเดฃเตฝ
CREATE TABLE prices
(
skuId bigint NOT NULL,
storeId bigint NOT NULL,
supplierId bigint NOT NULL,
dateTime timestamp without time zone,
price numeric(10,5),
CONSTRAINT prices_pkey PRIMARY KEY (skuId, storeId, supplierId)
)
เดชเตเดฐเดตเตผเดคเตเดคเดจเดฏเตเดพเดเตเดฏเดฎเดพเดฏ
CLASS Sku;
CLASS Store;
CLASS Supplier;
dateTime = DATA DATETIME (Sku, Store, Supplier);
price = DATA NUMERIC[10,5] (Sku, Store, Supplier);
เดธเตเดเดฟเดเดเตพ
เด เดตเดธเดพเดจเดคเตเดคเต เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ, เดเดฒเตเดฒเดพ เดเตเดเดณเดฟเดฒเตเด เดคเตเดฏเดคเดฟเดฏเดฟเดฒเตเด เดเดเตเดเตพ เดเดฐเต เดธเตเดเดฟเด เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเด, เด เดคเดฟเดฒเตเดเต เดเดฐเต เดจเดฟเดถเตเดเดฟเดค เดธเดฎเดฏเดคเตเดคเตเดเตเดเตเดณเตเดณ เดตเดฟเดฒ เดชเตเดเตเดเตเดจเตเดจเต เดเดฃเตเดเตเดคเตเดคเดพเดจเดพเดเตเด.
เดฑเดฟเดฒเตเดทเดฃเตฝ
CREATE INDEX prices_date
ON prices
(skuId, storeId, supplierId, dateTime)
เดชเตเดฐเดตเตผเดคเตเดคเดจเดฏเตเดพเดเตเดฏเดฎเดพเดฏ
INDEX Sku sk, Store st, Supplier sp, dateTime(sk, st, sp);
เดเตเดฎเดคเดฒเดเตพ
เด
เดจเตเดฌเดจเตเดงเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดเตเดคเตเดค เดคเดพเดฐเดคเดฎเตเดฏเตเดจ เดฒเดณเดฟเดคเดฎเดพเดฏ เดชเตเดฐเดถเตเดจเดเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฎเตเดเตเดเต เดเดฐเดเดญเดฟเดเตเดเดพเด
เดเดฆเตเดฏเด, เดจเดฎเตเดเตเดเต เดกเตเดฎเตเดฏเตเตป เดฒเตเดเดฟเดเต เดชเตเดฐเดเตเดฏเดพเดชเดฟเดเตเดเดพเด (เดฑเดฟเดฒเตเดทเดฃเตฝ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเดจเดพเดฏเดฟ เดเดคเต เดฎเตเดเดณเดฟเดฒเตเดณเตเดณ เดฒเตเดเดจเดคเตเดคเดฟเตฝ เดจเตเดฐเดฟเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจเต).
CLASS Department;
name = DATA STRING[100] (Department);
CLASS Employee;
department = DATA Department (Employee);
chief = DATA Employee (Employee);
name = DATA STRING[100] (Employee);
salary = DATA NUMERIC[14,2] (Employee);
เดเดพเดธเตเดเต 1.1
เด เดตเดฐเตเดเต เดเดเดจเดเดฟ เดธเตเดชเตเดชเตผเดตเตเดธเตผ เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดเตเดเดพเตพ เดเตเดเตเดคเตฝ เดถเดฎเตเดชเดณเด เดฒเดญเดฟเดเตเดเตเดจเตเดจ เดเตเดตเดจเดเตเดเดพเดฐเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเด.
เดฑเดฟเดฒเตเดทเดฃเตฝ
select a.*
from employee a, employee b
where b.id = a.chief_id
and a.salary > b.salary
เดชเตเดฐเดตเตผเดคเตเดคเดจเดฏเตเดพเดเตเดฏเดฎเดพเดฏ
SELECT name(Employee a) WHERE salary(a) > salary(chief(a));
เดเดพเดธเตเดเต 1.2
เด เดตเดฐเตเดเต เดตเดเตเดชเตเดชเดฟเตฝ เดชเดฐเดฎเดพเดตเดงเดฟ เดถเดฎเตเดชเดณเด เดฒเดญเดฟเดเตเดเตเดจเตเดจ เดเตเดตเดจเดเตเดเดพเดฐเต เดชเดเตเดเดฟเดเดชเตเดชเตเดเตเดคเตเดคเตเด
เดฑเดฟเดฒเตเดทเดฃเตฝ
select a.*
from employee a
where a.salary = ( select max(salary) from employee b
where b.department_id = a.department_id )
เดชเตเดฐเดตเตผเดคเตเดคเดจเดฏเตเดพเดเตเดฏเดฎเดพเดฏ
maxSalary 'ะะฐะบัะธะผะฐะปัะฝะฐั ะทะฐัะฟะปะฐัะฐ' (Department s) =
GROUP MAX salary(Employee e) IF department(e) = s;
SELECT name(Employee a) WHERE salary(a) = maxSalary(department(a));
// ะธะปะธ ะตัะปะธ "ะทะฐะธะฝะปะฐะนะฝะธัั"
SELECT name(Employee a) WHERE
salary(a) = maxSalary(GROUP MAX salary(Employee e) IF department(e) = department(a));
เดฐเดฃเตเดเต เดจเดเดชเตเดชเดพเดเตเดเดฒเตเดเดณเตเด เดคเตเดฒเตเดฏเดฎเดพเดฃเต. เดเดฆเตเดฏ เดธเดจเตเดฆเตผเดญเดคเตเดคเดฟเตฝ, เดเดฐเต เดฑเดฟเดฒเตเดทเดฃเตฝ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดเตเดฐเดฟเดฏเตเดฑเตเดฑเต เดตเตเดฏเต เดเดชเดฏเตเดเดฟเดเตเดเดพเด, เด เดคเต เดฐเตเดคเดฟเดฏเดฟเตฝ เดคเดจเตเดจเต เด เดคเดฟเตฝ เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดตเดเตเดชเตเดชเดฟเดจเตเดณเตเดณ เดชเดฐเดฎเดพเดตเดงเดฟ เดถเดฎเตเดชเดณเด เดเดฆเตเดฏเด เดเดฃเดเตเดเดพเดเตเดเตเด. เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดตเดฏเดฟเตฝ, เดตเตเดฏเดเตเดคเดคเดฏเตเดเตเดเดพเดฏเดฟ, เดเดพเตป เดเดฆเตเดฏเดคเตเดคเต เดเตเดธเต เดเดชเดฏเตเดเดฟเดเตเดเตเด, เดเดพเดฐเดฃเด เดเดคเต เดชเดฐเดฟเดนเดพเดฐเดคเตเดคเต เดจเดจเตเดจเดพเดฏเดฟ เดชเตเดฐเดคเดฟเดซเดฒเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต.
เดเดพเดธเตเดเต 1.3
เดกเดฟเดชเตเดชเดพเตผเดเตเดเตโเดฎเตเดจเตเดฑเต เดเดกเดฟเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเด, 3 เดเดณเตเดเดณเดฟเตฝ เดเดตเดฟเดฏเดพเดคเตเดค เดเตเดตเดจเดเตเดเดพเดฐเตเดเต เดเดฃเตเดฃเด.
เดฑเดฟเดฒเตเดทเดฃเตฝ
select department_id
from employee
group by department_id
having count(*) <= 3
เดชเตเดฐเดตเตผเดคเตเดคเดจเดฏเตเดพเดเตเดฏเดฎเดพเดฏ
countEmployees 'ะะพะปะธัะตััะฒะพ ัะพัััะดะฝะธะบะพะฒ' (Department d) =
GROUP SUM 1 IF department(Employee e) = d;
SELECT Department d WHERE countEmployees(d) <= 3;
เดเดพเดธเตเดเต 1.4
เดเดฐเต เดตเดเตเดชเตเดชเดฟเตฝ เดเตเดฒเดฟ เดเตเดฏเตเดฏเตเดจเตเดจ เดจเดฟเดฏเตเดเตเดค เดฎเดพเดจเตเดเตผ เดเดฒเตเดฒเดพเดคเตเดค เดเตเดตเดจเดเตเดเดพเดฐเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเด.
เดฑเดฟเดฒเตเดทเดฃเตฝ
select a.*
from employee a
left join employee b on (b.id = a.chief_id and b.department_id = a.department_id)
where b.id is null
เดชเตเดฐเดตเตผเดคเตเดคเดจเดฏเตเดพเดเตเดฏเดฎเดพเดฏ
SELECT name(Employee a) WHERE NOT (department(chief(a)) = department(a));
เดเดพเดธเตเดเต 1.5
เดชเดฐเดฎเดพเดตเดงเดฟ เดฎเตเดคเตเดคเด เดเตเดตเดจเดเตเดเดพเดฐเตเดเต เดถเดฎเตเดชเดณเดฎเตเดณเตเดณ เดกเดฟเดชเตเดชเดพเตผเดเตเดเตโเดฎเตเดจเตเดฑเต เดเดกเดฟเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดเดฃเตเดเตเดคเตเดคเตเด.
เดฑเดฟเดฒเตเดทเดฃเตฝ
with sum_salary as
( select department_id, sum(salary) salary
from employee
group by department_id )
select department_id
from sum_salary a
where a.salary = ( select max(salary) from sum_salary )
เดชเตเดฐเดตเตผเดคเตเดคเดจเดฏเตเดพเดเตเดฏเดฎเดพเดฏ
salarySum 'ะะฐะบัะธะผะฐะปัะฝะฐั ะทะฐัะฟะปะฐัะฐ' (Department d) =
GROUP SUM salary(Employee e) IF department(e) = d;
maxSalarySum 'ะะฐะบัะธะผะฐะปัะฝะฐั ะทะฐัะฟะปะฐัะฐ ะพัะดะตะปะพะฒ' () =
GROUP MAX salarySum(Department d);
SELECT Department d WHERE salarySum(d) = maxSalarySum();
เดจเดฎเตเดเตเดเต เดฎเดฑเตเดฑเตเดจเตเดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดเตเดเตเดคเตฝ เดธเดเตเดเตเตผเดฃเตเดฃเดฎเดพเดฏ เดเตเดฒเดฟเดเดณเดฟเดฒเตเดเตเดเต เดชเตเดเดพเด
เดเดพเดธเตเดเต 2.1
1997-เตฝ เดเตฝเดชเตเดชเดจเตเดจ เดจเดฎเตเดชเตผ 30-เดจเตเดฑเต 1-เดฒเดงเดฟเดเด เดฏเตเดฃเดฟเดฑเตเดฑเตเดเตพ เดตเดฟเดฑเตเดฑเดคเต เดเดคเตเดเตเดเตเดฏเดพเดฃเต?
เดกเตเดฎเตเดฏเตเตป เดฒเตเดเดฟเดเต (RDBMS-เตฝ เดฎเตเดฎเตเดชเดคเตเดคเต เดชเตเดฒเต เดเดเตเดเตพ เดชเตเดฐเดเตเดฏเดพเดชเดจเด เดเดดเดฟเดตเดพเดเตเดเตเดจเตเดจเต):
CLASS Employee 'ะัะพะดะฐะฒะตั';
lastName 'ะคะฐะผะธะปะธั' = DATA STRING[100] (Employee);
CLASS Product 'ะัะพะดัะบั';
id = DATA INTEGER (Product);
name = DATA STRING[100] (Product);
CLASS Order 'ะะฐะบะฐะท';
date = DATA DATE (Order);
employee = DATA Employee (Order);
CLASS Detail 'ะกััะพะบะฐ ะทะฐะบะฐะทะฐ';
order = DATA Order (Detail);
product = DATA Product (Detail);
quantity = DATA NUMERIC[10,5] (Detail);
เดฑเดฟเดฒเตเดทเดฃเตฝ
select LastName
from Employees as e
where (
select sum(od.Quantity)
from [Order Details] as od
where od.ProductID = 1 and od.OrderID in (
select o.OrderID
from Orders as o
where year(o.OrderDate) = 1997 and e.EmployeeID = o.EmployeeID)
) > 30
เดชเตเดฐเดตเตผเดคเตเดคเดจเดฏเตเดพเดเตเดฏเดฎเดพเดฏ
sold (Employee e, INTEGER productId, INTEGER year) =
GROUP SUM quantity(OrderDetail d) IF
employee(order(d)) = e AND
id(product(d)) = productId AND
extractYear(date(order(d))) = year;
SELECT lastName(Employee e) WHERE sold(e, 1, 1997) > 30;
เดเดพเดธเตเดเต 2.2
เดเดฐเต เดตเดพเดเตเดเตเดจเตเดจเดฏเดพเตพเดเตเดเตเด (เดชเตเดฐเต, เดเตเดเตเดเดฌเดชเตเดชเตเดฐเต), 1997 เตฝ เดตเดพเดเตเดเตเดจเตเดจเดฏเดพเตพ เดเดฑเตเดฑเดตเตเด เดเตเดเตเดคเตฝ เดชเดฃเด เดเตเดฒเดตเดดเดฟเดเตเด เดฐเดฃเตเดเต เดธเดพเดงเดจเดเตเดเตพ (เดชเตเดฐเต) เดเดฃเตเดเตเดคเตเดคเตเด.
เดฎเตเดฎเตเดชเดคเตเดคเต เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดเตเดเตพ เดกเตเดฎเตเดฏเตเตป เดฒเตเดเดฟเดเต เดตเดฟเดชเตเดฒเตเดเดฐเดฟเดเตเดเตเดจเตเดจเต:
CLASS Customer 'ะะปะธะตะฝั';
contactName 'ะคะะ' = DATA STRING[100] (Customer);
customer = DATA Customer (Order);
unitPrice = DATA NUMERIC[14,2] (Detail);
discount = DATA NUMERIC[6,2] (Detail);
เดฑเดฟเดฒเตเดทเดฃเตฝ
SELECT ContactName, ProductName FROM (
SELECT c.ContactName, p.ProductName
, ROW_NUMBER() OVER (
PARTITION BY c.ContactName
ORDER BY SUM(od.Quantity * od.UnitPrice * (1 - od.Discount)) DESC
) AS RatingByAmt
FROM Customers c
JOIN Orders o ON o.CustomerID = c.CustomerID
JOIN [Order Details] od ON od.OrderID = o.OrderID
JOIN Products p ON p.ProductID = od.ProductID
WHERE YEAR(o.OrderDate) = 1997
GROUP BY c.ContactName, p.ProductName
) t
WHERE RatingByAmt < 3
เดชเตเดฐเดตเตผเดคเตเดคเดจเดฏเตเดพเดเตเดฏเดฎเดพเดฏ
sum (Detail d) = quantity(d) * unitPrice(d) * (1 - discount(d));
bought 'ะัะฟะธะป' (Customer c, Product p, INTEGER y) =
GROUP SUM sum(Detail d) IF
customer(order(d)) = c AND
product(d) = p AND
extractYear(date(order(d))) = y;
rating 'ะ ะตะนัะธะฝะณ' (Customer c, Product p, INTEGER y) =
PARTITION SUM 1 ORDER DESC bought(c, p, y), p BY c, y;
SELECT contactName(Customer c), name(Product p) WHERE rating(c, p, 1997) < 3;
เดชเดพเตผเดเตเดเตเดทเตป เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดคเดคเตเดคเตเดตเดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต: SUM (เดเดตเดฟเดเต 1), เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเด เดเตเดฐเตเดชเตเดชเตเดเตพเดเตเดเตเดณเตเดณเดฟเตฝ (เดเดตเดฟเดเต เดเดชเดญเตเดเตเดคเดพเดตเตเด เดตเตผเดทเดตเตเด, เดเดจเตเดจเดพเตฝ เดเดคเต เดชเดฆเดชเตเดฐเดฏเตเดเดตเตเด เดเดเดพเด), เดเตผเดกเดฑเดฟเตฝ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดฟเดฏเดฟเดเตเดเตเดณเตเดณ เดเดเตโเดธเตโเดชเตเดฐเดทเดจเตเดเตพ เด เดจเตเดธเดฐเดฟเดเตเดเต เดเตเดฐเตเดชเตเดชเตเดเตพเดเตเดเตเดณเตเดณเดฟเตฝ เดคเดฐเดเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดชเดฆเดชเตเดฐเดฏเตเดเดคเตเดคเต เดเดคเต เดธเดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต. เดเดตเดฟเดเต เดตเดพเดเตเดเดฟ, เดคเตเดฒเตเดฏเดฎเดพเดฃเตเดเตเดเดฟเตฝ, เดเดจเตเดคเดฐเดฟเด เดเตฝเดชเตเดชเดจเตเดจ เดเตเดกเต เด เดจเตเดธเดฐเดฟเดเตเดเต).
เดเดพเดธเตเดเต 2.3
เดจเดฟเดฒเดตเดฟเดฒเต เดเตผเดกเดฑเตเดเตพ เดจเดฟเดฑเดตเตเดฑเตเดฑเตเดจเตเดจเดคเดฟเดจเต เดตเดฟเดคเดฐเดฃเดเตเดเดพเดฐเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดคเตเดฐ เดธเดพเดงเดจเดเตเดเตพ เดเตผเดกเตผ เดเตเดฏเตเดฏเตเดฃเตเดเดคเตเดฃเตเดเต.
เดจเดฎเตเดเตเดเต เดกเตเดฎเตเดฏเตเตป เดฒเตเดเดฟเดเต เดตเตเดฃเตเดเตเด เดตเดฟเดเดธเดฟเดชเตเดชเดฟเดเตเดเดพเด:
CLASS Supplier 'ะะพััะฐะฒัะธะบ';
companyName = DATA STRING[100] (Supplier);
supplier = DATA Supplier (Product);
unitsInStock 'ะััะฐัะพะบ ะฝะฐ ัะบะปะฐะดะต' = DATA NUMERIC[10,3] (Product);
reorderLevel 'ะะพัะผะฐ ะฟัะพะดะฐะถะธ' = DATA NUMERIC[10,3] (Product);
เดฑเดฟเดฒเตเดทเดฃเตฝ
select s.CompanyName, p.ProductName, sum(od.Quantity) + p.ReorderLevel โ p.UnitsInStock as ToOrder
from Orders o
join [Order Details] od on o.OrderID = od.OrderID
join Products p on od.ProductID = p.ProductID
join Suppliers s on p.SupplierID = s.SupplierID
where o.ShippedDate is null
group by s.CompanyName, p.ProductName, p.UnitsInStock, p.ReorderLevel
having p.UnitsInStock < sum(od.Quantity) + p.ReorderLevel
เดชเตเดฐเดตเตผเดคเตเดคเดจเดฏเตเดพเดเตเดฏเดฎเดพเดฏ
orderedNotShipped 'ะะฐะบะฐะทะฐะฝะพ, ะฝะพ ะฝะต ะพัะณััะถะตะฝะพ' (Product p) =
GROUP SUM quantity(OrderDetail d) IF product(d) = p;
toOrder 'ะ ะทะฐะบะฐะทั' (Product p) = orderedNotShipped(p) + reorderLevel(p) - unitsInStock(p);
SELECT companyName(supplier(Product p)), name(p), toOrder(p) WHERE toOrder(p) > 0;
เดเดฐเต เดจเดเตเดทเดคเตเดฐเดเดฟเดนเตเดจเดคเตเดคเดฟเดฒเต เดชเตเดฐเดถเตเดจเด
เด เดตเดธเดพเดจเดคเตเดคเต เดเดฆเดพเดนเดฐเดฃเด เดตเตเดฏเดเตเดคเดฟเดชเดฐเดฎเดพเดฏเดฟ เดเดจเตเดจเดฟเตฝ เดจเดฟเดจเตเดจเดพเดฃเต. เดเดฐเต เดธเตเดทเตเดฏเตฝ เดจเตเดฑเตเดฑเตโเดตเตผเดเตเดเดฟเดจเตเดฑเต เดฏเตเดเตเดคเดฟเดฏเตเดฃเตเดเต. เดเดณเตเดเตพเดเตเดเต เดชเดฐเดธเตเดชเดฐเด เดธเตเดนเตเดคเตเดคเตเดเตเดเดณเดพเดเดพเดจเตเด เดชเดฐเดธเตเดชเดฐเด เดเดทเตเดเดชเตเดชเตเดเดพเดจเตเด เดเดดเดฟเดฏเตเด. เดเดฐเต เดซเดเตเดทเดฃเตฝ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดตเตเดเตเดทเดฃเดเตเดฃเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดคเต เดเดคเตเดชเตเดฒเต เดเดพเดฃเดชเตเดชเตเดเตเด:
CLASS Person;
likes = DATA BOOLEAN (Person, Person);
friends = DATA BOOLEAN (Person, Person);
เดธเตเดนเตเดฆเดคเตเดคเดฟเดจเต เดธเดพเดงเตเดฏเดฎเดพเดฏ เดธเตเดฅเดพเดจเดพเตผเดคเตเดฅเดฟเดเดณเต เดเดฃเตเดเตเดคเตเดคเตเดฃเตเดเดคเต เดเดตเดถเตเดฏเดฎเดพเดฃเต. เดเตเดเตเดคเตฝ เดเดชเดเดพเดฐเดฟเดเดฎเดพเดฏเดฟ, เดจเดฟเดเตเดเตพ A, B, C เดเดฒเตเดฒเดพ เดเดณเตเดเดณเตเดฏเตเด เดเดฃเตเดเตเดคเตเดคเตเดฃเตเดเดคเตเดฃเตเดเต, เด
เดคเดพเดฏเดคเต A B เดฏเตเดฎเดพเดฏเดฟ เดเดเตเดเดพเดคเดฟเดฎเดพเดฐเดพเดฃเต, B C เดฏเตเดฎเดพเดฏเดฟ เดเดเตเดเดพเดคเดฟเดฎเดพเดฐเดพเดฃเต, A C เดเดทเตเดเดชเตเดชเตเดเตเดจเตเดจเต, เดเดจเตเดจเดพเตฝ A C เดฏเตเดฎเดพเดฏเดฟ เดเดเตเดเดพเดคเดฟเดฎเดพเดฐเดฒเตเดฒ.
เดเดฐเต เดซเดเตเดทเดฃเตฝ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดตเตเดเตเดทเดฃเดเตเดฃเดฟเตฝ เดจเดฟเดจเตเดจเต, เดเตเดฆเตเดฏเด เดเดคเตเดชเตเดฒเต เดเดพเดฃเดชเตเดชเตเดเตเด:
SELECT Person a, Person b, Person c WHERE
likes(a, c) AND NOT friends(a, c) AND
friends(a, b) AND friends(b, c);
SQL-เตฝ เด เดชเตเดฐเดถเตเดจเด เดธเตเดตเดจเตเดคเดฎเดพเดฏเดฟ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเดพเตป เดตเดพเดฏเดจเดเตเดเดพเดฐเดจเต เดชเตเดฐเตเดคเตเดธเดพเดนเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต. เดจเดฟเดเตเดเตพ เดเดทเตเดเดชเตเดชเตเดเตเดจเตเดจ เดเดณเตเดเดณเตเดเตเดเดพเตพ เดตเดณเดฐเต เดเตเดฑเดเตเดเต เดธเตเดนเตเดคเตเดคเตเดเตเดเตพ เดเดฃเตเดเตเดจเตเดจเต เด เดจเตเดฎเดพเดจเดฟเดเตเดเดชเตเดชเตเดเตเดจเตเดจเต. เด เดคเดฟเดจเดพเตฝ เด เดต เดชเตเดฐเดคเตเดฏเตเด เดชเดเตเดเดฟเดเดเดณเดฟเดฒเดพเดฃเต. เดตเดฟเดเดฏเดฟเดเตเดเดพเตฝ, เดฐเดฃเตเดเต เดจเดเตเดทเดคเตเดฐเดเตเดเดณเตเดณเตเดณ เดเดฐเต เดเดพเดธเตโเดเตเดเตเด เดเดฃเตเดเต. เด เดคเดฟเตฝ เดธเตเดนเตเดฆเด เดธเดฎเดฎเดฟเดคเดฟเดฏเดฒเตเดฒ. เดเดฐเต เดซเดเตเดทเดฃเตฝ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเตฝ เดเดคเต เดเดคเตเดชเตเดฒเต เดเดพเดฃเดชเตเดชเตเดเตเด:
SELECT Person a, Person b, Person c WHERE
likes(a, c) AND NOT friends(a, c) AND
(friends(a, b) OR friends(b, a)) AND
(friends(b, c) OR friends(c, b));
UPD: เดเดฆเตเดฏเดคเตเดคเตเดฏเตเด เดฐเดฃเตเดเดพเดฎเดคเตเดคเตเดฏเตเด เดจเดเตเดทเดคเตเดฐเดเดฟเดนเตเดจเดคเตเดคเดฟเดฒเต เดชเตเดฐเดถเตเดจเดคเตเดคเดฟเดจเตเดณเตเดณ เดชเดฐเดฟเดนเดพเดฐเด
SELECT
pl.PersonAID
,pf.PersonAID
,pff.PersonAID
FROM Persons AS p
--ะะฐะนะบะธ
JOIN PersonRelationShip AS pl ON pl.PersonAID = p.PersonID
AND pl.Relation = 'Like'
--ะััะทัั
JOIN PersonRelationShip AS pf ON pf.PersonAID = p.PersonID
AND pf.Relation = 'Friend'
--ะััะทัั ะััะทะตะน
JOIN PersonRelationShip AS pff ON pff.PersonAID = pf.PersonBID
AND pff.PersonBID = pl.PersonBID
AND pff.Relation = 'Friend'
--ะัั ะฝะต ะดััะถะฐั
LEFT JOIN PersonRelationShip AS pnf ON pnf.PersonAID = p.PersonID
AND pnf.PersonBID = pff.PersonBID
AND pnf.Relation = 'Friend'
WHERE pnf.PersonAID IS NULL
;WITH PersonRelationShipCollapsed AS (
SELECT pl.PersonAID
,pl.PersonBID
,pl.Relation
FROM #PersonRelationShip AS pl
UNION
SELECT pl.PersonBID AS PersonAID
,pl.PersonAID AS PersonBID
,pl.Relation
FROM #PersonRelationShip AS pl
)
SELECT
pl.PersonAID
,pf.PersonBID
,pff.PersonBID
FROM #Persons AS p
--ะะฐะนะบะธ
JOIN PersonRelationShipCollapsed AS pl ON pl.PersonAID = p.PersonID
AND pl.Relation = 'Like'
--ะััะทัั
JOIN PersonRelationShipCollapsed AS pf ON pf.PersonAID = p.PersonID
AND pf.Relation = 'Friend'
--ะััะทัั ะััะทะตะน
JOIN PersonRelationShipCollapsed AS pff ON pff.PersonAID = pf.PersonBID
AND pff.PersonBID = pl.PersonBID
AND pff.Relation = 'Friend'
--ะัั ะฝะต ะดััะถะฐั
LEFT JOIN PersonRelationShipCollapsed AS pnf ON pnf.PersonAID = p.PersonID
AND pnf.PersonBID = pff.PersonBID
AND pnf.Relation = 'Friend'
WHERE pnf.[PersonAID] IS NULL
เดคเตเดฐเตเดฎเดพเดจเด
เดคเดจเตเดจเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเดถเดฏเด เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดชเตเดทเดจเตเดเดณเดฟเตฝ เดเดจเตเดจเต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดจเตฝเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดญเดพเดทเดพ เดตเดพเดเตเดฏเดเดเดจ เดเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเดฃเตเดเดคเดพเดฃเต. เดเดธเตโเดเตเดฏเตเดเตฝ เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดฏเดฟ เดเดเตเดเตเดเดชเตเดชเตเดเตเดเต, เด เดคเดฟเดจเตเดเต เดเดดเดฟเดฏเตเดจเตเดจเดคเตเดฐ เดธเดฎเดพเดจเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเตเด เดเดจเตเดจเดคเดพเดฏเดฟเดฐเตเดจเตเดจเต เดฒเดเตเดทเตเดฏเด. เดคเตเตผเดเตเดเดฏเดพเดฏเตเด, เดเดฟเดฒเตผเดเตเดเต เดเตเดตเตเดกเตเดเดณเตเดเต เดชเตเดฐเตเดเตพ, เดตเตเดกเต เดฐเดเดฟเดธเตเดฑเตเดฑเดฑเตเดเตพ เดฎเตเดคเดฒเดพเดฏเดต เดเดทเตเดเดชเตเดชเตเดเตเดเตเดเตเดเดฟเดฒเตเดฒ. เดเดตเดฟเดเต เดชเตเดฐเดงเดพเดจ เดเดพเดฐเตเดฏเด เดเดถเดฏเด เดคเดจเตเดจเตเดฏเดพเดฃเต. เดตเตเดฃเดฎเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเตพเดเตเดเต C++, Python เดเดจเตเดจเดฟเดตเดฏเตเด เดธเดฎเดพเดจเดฎเดพเดฏ เดตเดพเดเตเดฏเดเดเดจ เดเดฃเตเดเดพเดเตเดเดพเด.
เดตเดฟเดตเดฐเดฟเดเตเด เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดเดถเดฏเดคเตเดคเดฟเดจเต, เดเดจเตเดฑเต เด เดญเดฟเดชเตเดฐเดพเดฏเดคเตเดคเดฟเตฝ, เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเตเดฃเดเตเดเดณเตเดฃเตเดเต:
- เดเดณเตเดชเตเดชเดคเตเดคเดฟเดจเดพเดฏเดฟ. เดเดคเต เดคเดพเดฐเดคเดฎเตเดฏเตเดจ เดเดคเตเดฎเดจเดฟเดทเตเด เดฎเดพเดฏ เดธเตเดเดเดฎเดพเดฃเต, เดเดคเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดธเดจเตเดฆเตผเดญเดเตเดเดณเดฟเตฝ เดตเตเดฏเดเตเดคเดฎเดฒเตเดฒ. เดเดจเตเดจเดพเตฝ เดจเดฟเดเตเดเตพ เดเตเดเตเดคเตฝ เดธเดเตเดเตเตผเดฃเตเดฃเดฎเดพเดฏ เดเตเดธเตเดเตพ เดจเตเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ (เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดเตเดทเดคเตเดฐเดเดฟเดนเตเดจเดเตเดเดณเตเดฎเดพเดฏเตเดณเตเดณ เดชเตเดฐเดถเตเดจเดเตเดเตพ), เดชเดฟเดจเตเดจเต, เดเดจเตเดฑเต เด เดญเดฟเดชเตเดฐเดพเดฏเดคเตเดคเดฟเตฝ, เด เดคเตเดคเดฐเด เดเตเดฆเตเดฏเดเตเดเตพ เดเดดเตเดคเตเดจเตเดจเดคเต เดตเดณเดฐเต เดเดณเตเดชเตเดชเดฎเดพเดฃเต.
- ะะฝะบะฐะฟััะปััะธั. เดเดฟเดฒ เดเดฆเดพเดนเดฐเดฃเดเตเดเดณเดฟเตฝ เดเดพเตป เดเดจเตเดฑเตผเดฎเตเดกเดฟเดฏเดฑเตเดฑเต เดซเดเดเตโเดทเดจเตเดเตพ เดชเตเดฐเดเตเดฏเดพเดชเดฟเดเตเดเต (เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดตเดฟเดฑเตเดฑเต, เดตเดพเดเตเดเดฟเดฏ เดฎเตเดคเดฒเดพเดฏเดต), เด เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดคเตเดเตผเดจเตเดจเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเต. เดเดฟเดฒ เดซเดเดเตโเดทเดจเตเดเดณเตเดเต เดฒเตเดเดฟเดเต เดฎเดพเดฑเตเดฑเดพเตป เดเดคเต เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต, เดเดตเดถเตเดฏเดฎเตเดเตเดเดฟเตฝ, เด เดตเดฏเต เดเดถเตเดฐเดฏเดฟเดเตเดเตเดจเตเดจเดตเดฏเตเดเต เดฏเตเดเตเดคเดฟ เดฎเดพเดฑเตเดฑเดพเดคเต. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเดเตเดเตพเดเตเดเต เดตเดฟเตฝเดชเตเดชเดจ เดจเดเดคเตเดคเดพเด เดตเดฟเดฑเตเดฑเต เดคเดฟเดเดเตเดเตเด เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ เดเดฌเตโเดเดเตโเดฑเตเดฑเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฃเดเตเดเดพเดเตเดเดฟเดฏเดตเดฏเดพเดฃเต, เด เดคเตเดธเดฎเดฏเด เดฏเตเดเตเดคเดฟเดฏเตเดเต เดฌเดพเดเตเดเดฟ เดญเดพเดเดเตเดเตพ เดฎเดพเดฑเดฟเดฒเตเดฒ. เด เดคเต, CREATE VIEW เดเดชเดฏเตเดเดฟเดเตเดเต เดเดคเต เดเดฐเต RDBMS-เตฝ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดพเด. เดเดจเตเดจเดพเตฝ เดเดฒเตเดฒเดพ เดฏเตเดเตเดคเดฟเดฏเตเด เดเดเตเดเดจเต เดเดดเตเดคเดฟเดฏเดพเตฝ, เด เดคเต เดตเดณเดฐเต เดตเดพเดฏเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเดจเตเดจเดคเดพเดฏเดฟ เดเดพเดฃเดฟเดฒเตเดฒ.
- เดธเตเดฎเดพเดจเตเดฑเดฟเดเต เดตเดฟเดเดตเดฟเดฒเตเดฒ. เด
เดคเตเดคเดฐเด เดเดฐเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดซเดเดเตเดทเดจเตเดเดณเดฟเดฒเตเด เดเตเดฒเดพเดธเตเดเดณเดฟเดฒเตเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต (เดชเดเตเดเดฟเดเดเตพเดเตเดเตเด เดซเตเตฝเดกเตเดเตพเดเตเดเตเด เดชเดเดฐเด). เดเตเดฒเดพเดธเดฟเดเตเดเตฝ เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเดฟเดฒเตเดจเตเดจเดชเตเดฒเต (เดเดฐเต เดฐเตเดคเดฟ เด
เดคเต เดเตพเดชเตเดชเตเดเตเดจเตเดจ เดเตเดฒเดพเดธเดฟเดจเตเดฑเต เดฐเตเดชเดคเตเดคเดฟเตฝ เดเดฆเตเดฏเดคเตเดคเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดณเตเดณ เดเดฐเต เดซเดเดเตเดทเดจเดพเดฃเตเดจเตเดจเต เดเดเตเดเตพ เด
เดจเตเดฎเดพเดจเดฟเดเตเดเตเดจเตเดจเตเดตเตเดเตเดเดฟเตฝ). เด
เดคเดจเตเดธเดฐเดฟเดเตเดเต, เดธเดพเตผเดตเดคเตเดฐเดฟเด เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเต เดญเดพเดทเดเดณเตเดฎเดพเดฏเดฟ "เดธเตเดนเตเดคเตเดคเตเดเตเดเดณเต เดเดฃเตเดเดพเดเตเดเตเด" เดเดจเตเดจเดคเต เดตเดณเดฐเต เดเดณเตเดชเตเดชเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเดฃเด. เดเตเดเดพเดคเต, เด เดเดถเดฏเด เดเตเดเตเดคเตฝ เดธเดเตเดเตเตผเดฃเตเดฃเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดพเตป เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเดเตเดเตพเดเตเดเต เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดคเตเดชเตเดฒเตเดณเตเดณ เดเดชเตเดชเดฑเตเดฑเตเดฑเตผเดฎเดพเดฐเต เดเตพเดชเตเดชเตเดเตเดคเตเดคเดพเด:
CONSTRAINT sold(Employee e, 1, 2019) > 100 IF name(e) = 'ะะตัั' MESSAGE 'ะงัะพ-ัะพ ะะตัั ะฟัะพะดะฐะตั ัะปะธัะบะพะผ ะผะฝะพะณะพ ะพะดะฝะพะณะพ ัะพะฒะฐัะฐ ะฒ 2019 ะณะพะดั';
- เดชเดพเดฐเดฎเตเดชเดฐเตเดฏเดตเตเด เดชเตเดณเดฟเดฎเตเตผเดซเดฟเดธเดตเตเด. เดเดฐเต เดซเดเตเดทเดฃเตฝ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเตฝ, เดจเดฟเดเตเดเตพเดเตเดเต CLASS ClassP เดตเดดเดฟ เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เด เดจเดจเตเดคเดฐเดพเดตเดเดพเดถเด เด เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด: Class1, Class2 เดจเดฟเตผเดฎเตเดฎเดพเดฃเดเตเดเดณเตเด เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดชเตเดณเดฟเดฎเตเตผเดซเดฟเดธเดตเตเด เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจเต. เดญเดพเดตเดฟเดฏเดฟเดฒเต เดฒเตเดเดจเดเตเดเดณเดฟเตฝ เดเดพเตป เดเดฐเตเดชเดเตเดทเต เดเตเดคเตเดฏเดฎเดพเดฏเดฟ เดเดเตเดเดจเต เดเดดเตเดคเดพเด.
เดเดคเตเดฐเต เดเดถเดฏเด เดฎเดพเดคเตเดฐเดฎเดพเดฃเตเดเตเดเดฟเดฒเตเด, เดเดฒเตเดฒเดพ เดชเตเดฐเดตเตผเดคเตเดคเดจเดชเดฐเดฎเดพเดฏ เดฒเตเดเดฟเดเตเดเตเดเดณเตเด เดฑเดฟเดฒเตเดทเดฃเตฝ เดฒเตเดเดฟเดเตเดเดฟเดฒเตเดเตเดเต เดตเดฟเดตเตผเดคเตเดคเดจเด เดเตเดฏเตเดฏเตเดจเตเดจ เดเดฟเดฒ เดจเดเดชเตเดชเดพเดเตเดเตฝ เดเดพเดตเดฏเดฟเตฝ เดจเดฎเตเดเตเดเตเดฃเตเดเต. เดเตเดเดพเดคเต, เดชเตเดฐเดคเดฟเดจเดฟเดงเดพเดจเดเตเดเดณเตเดเต เดฏเตเดเตเดคเดฟเดฏเตเด เดฎเดฑเตเดฑเต เดชเดฒ เดเดพเดฐเตเดฏเดเตเดเดณเตเด เด
เดคเดฟเดจเตเดเต เดฎเดจเตเดนเดฐเดฎเดพเดฏเดฟ เดเดเดฟเดชเตเดชเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต, เด
เดคเดฟเดจเต เดจเดจเตเดฆเดฟ เดเดเตเดเตพเดเตเดเต เดฎเตเดคเตเดคเดคเตเดคเดฟเตฝ
เด
เดตเดฒเดเดฌเด: www.habr.com