เชธเช‚เชคเซเชฒเชจ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชฒเช–เซ‡ เช›เซ‡ เช…เชจเซ‡ เชตเชพเช‚เชšเซ‡ เช›เซ‡

เชธเช‚เชคเซเชฒเชจ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชฒเช–เซ‡ เช›เซ‡ เช…เชจเซ‡ เชตเชพเช‚เชšเซ‡ เช›เซ‡
เช…เช—เชพเช‰เชจเชพ เชฎเชพเช‚ เชฒเซ‡เช– เชฎเซ‡เช‚ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ€ เชœเซ‡เชฎ เช•เซ‹เชทเซเชŸเช•เซ‹ เช…เชจเซ‡ เช•เซเชทเซ‡เชคเซเชฐเซ‹เชจเซ‡ เชฌเชฆเชฒเซ‡ เชซเช‚เช•เซเชถเชจเชจเชพ เช†เชงเชพเชฐเซ‡ เชฌเชจเซ‡เชฒเชพ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเชพ เช–เซเชฏเชพเชฒ เช…เชจเซ‡ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซเชฏเซเช‚ เช›เซ‡. เชคเซ‡ เช•เซเชฒเชพเชธเชฟเช•เชฒ เชเช• เช•เชฐเชคเชพเช‚ เช† เช…เชญเชฟเช—เชฎเชจเชพ เชซเชพเชฏเชฆเชพ เชฆเชฐเซเชถเชพเชตเชคเชพ เช˜เชฃเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เช˜เชฃเชพเชจเซ‡ เชคเซ‡เช“ เชชเซ‚เชฐเชคเชพ เชตเชฟเชถเซเชตเชพเชธเชชเชพเชคเซเชฐ เชจ เชœเชฃเชพเชฏเชพ.

เช† เชฒเซ‡เช–เชฎเชพเช‚, เชนเซเช‚ เชฌเชคเชพเชตเซ€เชถ เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช† เช–เซเชฏเชพเชฒ เชคเชฎเชจเซ‡ เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชคเชฐเซเช•เชฎเชพเช‚ เช•เซ‹เชˆ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชฒเช–เชตเชพ เช…เชจเซ‡ เชตเชพเช‚เชšเชตเชพเชจเซ‡ เชเชกเชชเชฅเซ€ เช…เชจเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เชธเช‚เชคเซเชฒเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เช†เชงเซเชจเชฟเช• เช•เซ‹เชฎเชฐเซเชถเชฟเชฏเชฒ เชกเซ€เชฌเซ€เชเชฎเชเชธ (เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, เช“เชฐเซ‡เช•เชฒ เช…เชจเซ‡ เชฎเชพเช‡เช•เซเชฐเซ‹เชธเซ‹เชซเซเชŸ เชเชธเช•เซเชฏเซเชเชฒ เชธเชฐเซเชตเชฐ) เชฎเชพเช‚ เชธเชฎเชพเชจ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชฒเชพเช—เซ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡. เชฒเซ‡เช–เชจเชพ เช…เช‚เชคเซ‡ เชนเซเช‚ เชฌเชคเชพเชตเซ€เชถ เช•เซ‡ เชคเซ‡เช“เช เชœเซ‡ เช•เชฐเซเชฏเซเช‚, เชคเซ‡เชจเซ‡ เชนเชณเชตเชพเชถเชฅเซ€ เช•เชนเซ€เช เชคเซ‹, เชฌเชนเซ เชธเชพเชฐเซเช‚ เช•เชพเชฎ เชจ เช•เชฐเซเชฏเซเช‚.

เชตเชฐเซเชฃเชจ

เชชเชนเซ‡เชฒเชพเชจเซ€ เชœเซ‡เชฎ, เชตเชงเซ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเชŸเซ‡ เชนเซเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชตเชฐเซเชฃเชจ เชถเชฐเซ‚ เช•เชฐเซ€เชถ. เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡ เช†เชชเชฃเซ‡ เชเชตเชพ เชคเชฐเซเช•เชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชœเซ‡ เชตเชฟเชญเชพเช—เซ‹เชจเซ€ เชธเซ‚เชšเชฟ เชชเชฐเชค เช•เชฐเชถเซ‡ เชœเซ‡เชฎเชพเช‚ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ เช…เชจเซ‡ เชคเซ‡เชฎเชจเชพ เช•เซเชฒ เชชเช—เชพเชฐ เช›เซ‡.

เช•เชพเชฐเซเชฏเชพเชคเซเชฎเช• เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชคเซ‡ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชฆเซ‡เช–เชพเชถเซ‡:

CLASS Department โ€˜ะžั‚ะดะตะปโ€™;
name โ€˜ะะฐะธะผะตะฝะพะฒะฐะฝะธะตโ€™ = DATA STRING[100] (Department);

CLASS Employee โ€˜ะกะพั‚ั€ัƒะดะฝะธะบโ€™;
department โ€˜ะžั‚ะดะตะปโ€™ = DATA Department (Employee);
salary โ€˜ะ—ะฐั€ะฟะปะฐั‚ะฐโ€™ =  DATA NUMERIC[10,2] (Employee);

countEmployees โ€˜ะšะพะป-ะฒะพ ัะพั‚ั€ัƒะดะฝะธะบะพะฒโ€™ (Department d) = 
    GROUP SUM 1 IF department(Employee e) = d;
salarySum โ€˜ะกัƒะผะผะฐั€ะฝะฐั ะทะฐั€ะฟะปะฐั‚ะฐโ€™ (Department d) = 
    GROUP SUM salary(Employee e) IF department(e) = d;

SELECT name(Department d), countEmployees(d), salarySum(d);

เช•เซ‹เชˆเชชเชฃ DBMS เชฎเชพเช‚ เช† เช•เซเชตเซ‡เชฐเซ€ เชšเชฒเชพเชตเชตเชพเชจเซ€ เชœเชŸเชฟเชฒเชคเชพ เชธเชฎเช•เช•เซเชท เชนเชถเซ‡ O(เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ)เช•เชพเชฐเชฃ เช•เซ‡ เช† เช—เชฃเชคเชฐเซ€ เชฎเชพเชŸเซ‡ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“เชจเชพ เชธเชฎเช—เซเชฐ เชŸเซ‡เชฌเชฒเชจเซ‡ เชธเซเช•เซ‡เชจ เช•เชฐเชตเชพเชจเซ€ เช…เชจเซ‡ เชชเช›เซ€ เชคเซ‡เชฎเชจเซ‡ เชตเชฟเชญเชพเช— เชฆเซเชตเชพเชฐเชพ เชœเซ‚เชฅเชฌเชฆเซเชง เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเซ‡ เช›เซ‡. เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒ เชฏเซ‹เชœเชจเชพเชจเชพ เช†เชงเชพเชฐเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชจเชพเชจเชพ (เช…เชฎเซ‡ เชฎเชพเชจเซ€เช เช›เซ€เช เช•เซ‡ เชตเชฟเชญเชพเช—เซ‹ เช•เชฐเชคเชพเช‚ เช˜เชฃเชพ เชตเชงเซ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“ เช›เซ‡) เชชเซ‚เชฐเช• เชชเชฃ เชนเชถเซ‡. O (เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชฒเซ‹เช—) เช…เชฅเชตเชพ O(เชตเชฟเชญเชพเช—เซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพ) เชœเซ‚เชฅ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชตเชงเซ.

เชคเซ‡ เชธเซเชชเชทเซเชŸ เช›เซ‡ เช•เซ‡ เชตเชฟเชตเชฟเชง DBMS เชฎเชพเช‚ เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจ เช“เชตเชฐเชนเซ‡เชก เช…เชฒเช— เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเชŸเชฟเชฒเชคเชพ เช•เซ‹เชˆเชชเชฃ เชฐเซ€เชคเซ‡ เชฌเชฆเชฒเชพเชถเซ‡ เชจเชนเซ€เช‚.

เชธเซ‚เชšเชฟเชค เช…เชฎเชฒเซ€เช•เชฐเชฃเชฎเชพเช‚, เช•เชพเชฐเซเชฏเชพเชคเซเชฎเช• DBMS เชเช• เชธเชฌเช•เซเชตเซ‡เชฐเซ€ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชถเซ‡ เชœเซ‡ เชตเชฟเชญเชพเช— เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเชถเซ‡, เช…เชจเซ‡ เชชเช›เซ€ เชจเชพเชฎ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชตเชฟเชญเชพเช—เชจเชพ เชŸเซ‡เชฌเชฒ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเช“. เชœเซ‹ เช•เซ‡, เชฆเชฐเซ‡เช• เช•เชพเชฐเซเชฏ เชฎเชพเชŸเซ‡, เชœเซเชฏเชพเชฐเซ‡ เช˜เซ‹เชทเชฃเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชตเชฟเชถเชฟเชทเซเชŸ เชธเชพเชฎเช—เซเชฐเซ€เชฏเซเช•เซเชค เชฎเชพเชฐเซเช•เชฐ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เช›เซ‡. เชธเชฟเชธเซเชŸเชฎ เช†เชตเชพ เชฆเชฐเซ‡เช• เช•เชพเชฐเซเชฏ เชฎเชพเชŸเซ‡ เช†เชชเชฎเซ‡เชณเซ‡ เช…เชจเซเชฐเซ‚เชช เช•เซเชทเซ‡เชคเซเชฐ เชฌเชจเชพเชตเชถเซ‡. เชซเช‚เช•เซเชถเชจเชจเซ€ เช•เชฟเช‚เชฎเชค เชฌเชฆเชฒเชคเซ€ เชตเช–เชคเซ‡, เชคเซ‡ เชœ เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช‚ เชซเซ€เชฒเซเชกเชจเซ€ เช•เชฟเช‚เชฎเชค เชชเชฃ เชฌเชฆเชฒเชพเชถเซ‡. เช† เชซเช‚เช•เซเชถเชจเชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชชเซ‚เชฐเซเชต เช—เชฃเชคเชฐเซ€ เช•เชฐเซ‡เชฒ เชซเซ€เชฒเซเชก เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, เชœเซ‹ เชคเชฎเซ‡ เชตเชฟเชงเซ‡เชฏเซ‹ เชฎเชพเชŸเซ‡ MATERIALIZED เชธเซ‡เชŸ เช•เชฐเซ‹ เช›เซ‹ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ ะธ เชชเช—เชพเชฐ เชฐเช•เชฎ, เชชเช›เซ€ เชตเชฟเชญเชพเช—เซ‹เชจเซ€ เชธเซ‚เชšเชฟ เชธเชพเชฅเซ‡ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชฌเซ‡ เช•เซเชทเซ‡เชคเซเชฐเซ‹ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡, เชœเซ‡ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ เช…เชจเซ‡ เชคเซ‡เชฎเชจเชพ เช•เซเชฒ เชชเช—เชพเชฐเชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชถเซ‡. เชœเซเชฏเชพเชฐเซ‡ เชชเชฃ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“, เชคเซ‡เชฎเชจเชพ เชชเช—เชพเชฐ เช…เชฅเชตเชพ เชตเชฟเชญเชพเช—เชจเชพ เชœเซ‹เชกเชพเชฃเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เชฅเชพเชฏ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชธเชฟเชธเซเชŸเชฎ เช†เชชเซ‹เช†เชช เช† เช•เซเชทเซ‡เชคเซเชฐเซ‹เชจเชพ เชฎเซ‚เชฒเซเชฏเซ‹เชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเชถเซ‡. เช‰เชชเชฐเซ‹เช•เซเชค เช•เซเชตเซ‡เชฐเซ€ เช† เชซเซ€เชฒเซเชกเซเชธเชจเซ‡ เชธเซ€เชงเชพ เชœ เชเช•เซเชธเซ‡เชธ เช•เชฐเชถเซ‡ เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ O(เชตเชฟเชญเชพเช—เซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพ).

เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹ เชถเซเช‚ เช›เซ‡? เชซเช•เซเชค เชเช• เชœ เชตเชธเซเชคเซ: เช†เชตเชพ เชซเช‚เช•เซเชถเชจเชฎเชพเช‚ เช‡เชจเชชเซเชŸ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ€ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชธเช‚เช–เซเชฏเชพ เชนเซ‹เชตเซ€ เช†เชตเชถเซเชฏเช• เช›เซ‡ เชœเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซเช‚ เชฎเซ‚เชฒเซเชฏ เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เช›เซ‡. เชจเชนเชฟเช‚เชคเชฐ, เชเช• เชŸเซ‡เชฌเชฒ เชฌเชจเชพเชตเชตเซเช‚ เช…เชถเช•เซเชฏ เชนเชถเซ‡ เชœเซ‡ เชคเซ‡เชจเชพ เชคเชฎเชพเชฎ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซ‡ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซเชฏเชพเช‚ เช…เชธเช‚เช–เซเชฏ เชชเช‚เช•เซเชคเชฟเช“ เชธเชพเชฅเซ‡ เช•เซ‹เชทเซเชŸเช• เชนเซ‹เชˆ เชถเช•เชคเซเช‚ เชจเชฅเซ€.

เช‰เชฆเชพเชนเชฐเชฃ:

employeesCount โ€˜ะšะพะปะธั‡ะตัั‚ะฒะพ ัะพั‚ั€ัƒะดะฝะธะบะพะฒ ั ะทะฐั€ะฟะปะฐั‚ะพะน > Nโ€™ (Department d, NUMERIC[10,2] N) = 
    GROUP SUM salary(Employee e) IF department(e) = d AND salary(e) > N;

เช† เช•เชพเชฐเซเชฏ N เชจเชพ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ€ เช…เชจเช‚เชค เชธเช‚เช–เซเชฏเชพ เชฎเชพเชŸเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เชฅเชฏเซ‡เชฒ เช›เซ‡ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช•เซ‹เชˆเชชเชฃ เชจเช•เชพเชฐเชพเชคเซเชฎเช• เชฎเซ‚เชฒเซเชฏ เชฏเซ‹เช—เซเชฏ เช›เซ‡). เชคเซ‡เชฅเซ€, เชคเชฎเซ‡ เชคเซ‡เชจเชพ เชชเชฐ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชฎเซ‚เช•เซ€ เชถเช•เชคเชพ เชจเชฅเซ€. เชคเซ‹ เช† เชเช• เชคเชพเชฐเซเช•เชฟเช• เชฎเชฐเซเชฏเชพเชฆเชพ เช›เซ‡, เชŸเซ‡เช•เซเชจเชฟเช•เชฒ เชจเชฅเซ€ (เชเชŸเชฒเซ‡ โ€‹โ€‹เช•เซ‡ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ€ เชถเช•เซเชฏเชพ เชจเชฅเซ€.) เชจเชนเชฟเช‚เชคเชฐ, เชคเซเชฏเชพเช‚ เช•เซ‹เชˆ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹ เชจเชฅเซ€. เชคเชฎเซ‡ เช—เซเชฐเซ‚เชชเชฟเช‚เช—, เชธเซ‰เชฐเซเชŸเชฟเช‚เช—, AND เช…เชจเซ‡ OR, PARTITION, recursion, เชตเช—เซ‡เชฐเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช…เช—เชพเช‰เชจเชพ เชฒเซ‡เช–เชจเซ€ เชธเชฎเชธเซเชฏเชพ 2.2 เชฎเชพเช‚, เชคเชฎเซ‡ เชฌเช‚เชจเซ‡ เช•เชพเชฐเซเชฏเซ‹ เชชเชฐ MATERIALIZED เชฎเซ‚เช•เซ€ เชถเช•เซ‹ เช›เซ‹:

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 MATERIALIZED;
rating 'ะ ะตะนั‚ะธะฝะณ' (Customer c, Product p, INTEGER y) = 
    PARTITION SUM 1 ORDER DESC bought(c, p, y), p BY c, y MATERIALIZED;
SELECT contactName(Customer c), name(Product p) WHERE rating(c, p, 1997) < 3;

เชธเชฟเชธเซเชŸเชฎ เชชเซ‹เชคเซ‡ เชŸเชพเชˆเชช เช•เซ€ เชธเชพเชฅเซ‡ เชเช• เชŸเซ‡เชฌเชฒ เชฌเชจเชพเชตเชถเซ‡ เช—เซเชฐเชพเชนเช•, เช‰เชคเซเชชเชพเชฆเชจ ะธ เช‡เชจเซเชŸเซ‡เช—เชฐ, เชคเซ‡เชฎเชพเช‚ เชฌเซ‡ เชซเซ€เชฒเซเชก เช‰เชฎเซ‡เชฐเชถเซ‡ เช…เชจเซ‡ เช•เซ‹เชˆเชชเชฃ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชธเชพเชฅเซ‡ เชคเซ‡เชฎเชพเช‚ เชซเซ€เชฒเซเชก เชตเซ‡เชฒเซเชฏเซ เช…เชชเชกเซ‡เชŸ เช•เชฐเชถเซ‡. เชœเซเชฏเชพเชฐเซ‡ เช† เชซเช‚เช•เซเชถเชจเซเชธ เชชเชฐ เชตเชงเซ เช•เซ‰เชฒเซเชธ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡เชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เชฎเซ‚เชฒเซเชฏเซ‹ เช…เชจเซเชฐเซ‚เชช เช•เซเชทเซ‡เชคเซเชฐเซ‹เชฎเชพเช‚เชฅเซ€ เชตเชพเช‚เชšเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

เช† เชฎเชฟเช•เซ‡เชจเชฟเชเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชคเชฎเซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช•เซเชตเซ‡เชฐเซ€เชเชฎเชพเช‚ เชฐเชฟเช•เชฐเซเชธเชจเซเชธ (CTE) เชฅเซ€ เช›เซเชŸเช•เชพเชฐเซ‹ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‹ เช›เซ‹. เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, เชเชตเชพ เชœเซ‚เชฅเซ‹เชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‹ เช•เซ‡ เชœเซ‡เช“ เชฌเชพเชณเช•/เชชเชฟเชคเซƒ เชธเช‚เชฌเช‚เชงเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเซƒเช•เซเชท เชฌเชจเชพเชตเซ‡ เช›เซ‡ (เชฆเชฐเซ‡เช• เชœเซ‚เชฅเชจเซ‡ เชคเซ‡เชจเชพ เชฎเชพเชคเชพเชชเชฟเชคเชพ เชธเชพเชฅเซ‡ เชฒเชฟเช‚เช• เช›เซ‡):

parent = DATA Group (Group);

เช•เชพเชฐเซเชฏเชพเชคเซเชฎเช• เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚, เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชคเชฐเซเช• เชจเซ€เชšเซ‡ เชชเซเชฐเชฎเชพเชฃเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡:

level (Group child, Group parent) = RECURSION 1l IF child IS Group AND parent == child
                                                             STEP 2l IF parent == parent($parent);
isParent (Group child, Group parent) = TRUE IF level(child, parent) MATERIALIZED;

เชคเซเชฏเชพเชฐเชฅเซ€ เชซเช‚เช•เซเชถเชจ เชฎเชพเชŸเซ‡ เชฎเชพเชคเชพเชชเชฟเชคเชพ เช›เซ‡ เชธเชพเชฎเช—เซเชฐเซ€เชฏเซเช•เซเชค เชšเชฟเชนเซเชจเชฟเชค เชฅเชฏเซ‡เชฒ เช›เซ‡, เชชเช›เซ€ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฌเซ‡ เช•เซ€ (เชœเซ‚เชฅเซ‹) เชธเชพเชฅเซ‡เชจเซเช‚ เชŸเซ‡เชฌเชฒ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡, เชœเซ‡เชฎเชพเช‚ เช•เซเชทเซ‡เชคเซเชฐ เชฎเชพเชคเชพเชชเชฟเชคเชพ เช›เซ‡ เชœเซ‹ เชชเซเชฐเชฅเชฎ เช•เซ€ เชฌเซ€เชœเชพเชจเซเช‚ เชฌเชพเชณเช• เชนเซ‹เชฏ เชคเซ‹ เชœ เชธเชพเชšเซเช‚ เชฅเชถเซ‡. เช† เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚เชจเซ€ เชเชจเซเชŸเซเชฐเซ€เช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชตเซƒเช•เซเชทเชจเซ€ เชธเชฐเซ‡เชฐเชพเชถ เชŠเช‚เชกเชพเชˆเชฅเซ€ เช—เซเชฃเชพเช•เชพเชฐ เช•เชฐเซ‡เชฒ เชœเซ‚เชฅเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชœเซ‡เชŸเชฒเซ€ เชนเชถเซ‡. เชœเซ‹ เชคเชฎเชจเซ‡ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชšเซ‹เช•เซเช•เชธ เชœเซ‚เชฅเชจเชพ เชตเช‚เชถเชœเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เช† เช•เชพเชฐเซเชฏเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹:

childrenCount (Group g) = GROUP SUM 1 IF isParent(Group child, g);

SQL เช•เซเชตเซ‡เชฐเซ€ เชฎเชพเช‚ เช•เซ‹เชˆ CTE เชนเชถเซ‡ เชจเชนเชฟ. เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡ เชเช• เชธเชฐเชณ GROUP BY เชนเชถเซ‡.

เช† เชฎเชฟเช•เซ‡เชจเชฟเชเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชœเซ‹ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ เชคเซ‹ เชคเชฎเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เชกเชฟเชจเซ‹เชฐเซเชฎเชฒเชพเชˆเช เชชเชฃ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹:

CLASS Order 'ะ—ะฐะบะฐะท';
date 'ะ”ะฐั‚ะฐ' = DATA DATE (Order);

CLASS OrderDetail 'ะกั‚ั€ะพะบะฐ ะทะฐะบะฐะทะฐ';
order 'ะ—ะฐะบะฐะท' = DATA Order (OrderDetail);
date 'ะ”ะฐั‚ะฐ' (OrderDetail d) = date(order(d)) MATERIALIZED INDEXED;

เชœเซเชฏเชพเชฐเซ‡ เชซเช‚เช•เซเชถเชจเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‹ เชคเชพเชฐเซ€เช– เช“เชฐเซเชกเชฐ เชฒเชพเช‡เชจ เชฎเชพเชŸเซ‡, เชœเซ‡ เชซเซ€เชฒเซเชก เชฎเชพเชŸเซ‡ เช‡เชจเซเชกเซ‡เช•เซเชธ เช›เซ‡ เชคเซ‡ เชŸเซ‡เชฌเชฒเชฎเชพเช‚เชฅเซ€ เช“เชฐเซเชกเชฐ เชฒเชพเช‡เชจ เชธเชพเชฅเซ‡ เชตเชพเช‚เชšเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เชœเซเชฏเชพเชฐเซ‡ เช“เชฐเซเชกเชฐเชจเซ€ เชคเชพเชฐเซ€เช– เชฌเชฆเชฒเชพเชฏ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชธเชฟเชธเซเชŸเชฎ เชชเซ‹เชคเซ‡ เชœ เชฒเชพเช‡เชจเชฎเชพเช‚ เช…เชธเชพเชงเชพเชฐเชฃ เชคเชพเชฐเซ€เช–เชจเซ€ เชชเซเชจเชƒเช—เชฃเชคเชฐเซ€ เช•เชฐเชถเซ‡.

เชฒเชพเชญเซ‹

เช† เชธเชฎเช—เซเชฐ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เช›เซ‡? เช•เซเชฒเชพเชธเชฟเช• เชกเซ€เชฌเซ€เชเชฎเชเชธเชฎเชพเช‚, เช•เซเชตเซ‡เชฐเซ€ เชซเชฐเซ€เชฅเซ€ เชฒเช–เซเชฏเชพ เชตเชฟเชจเชพ, เชกเซ‡เชตเชฒเชชเชฐ เช…เชฅเชตเชพ เชกเซ€เชฌเซ€เช เชฎเชพเชคเซเชฐ เช‡เชจเซเชกเซ‡เช•เซเชธ เชฌเชฆเชฒเซ€ เชถเช•เซ‡ เช›เซ‡, เช†เช‚เช•เชกเชพ เชจเช•เซเช•เซ€ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เซเชตเซ‡เชฐเซ€ เชชเซเชฒเชพเชจเชฐเชจเซ‡ เชคเซ‡เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเซเช‚ เชคเซ‡ เช•เชนเซ€ เชถเช•เซ‡ เช›เซ‡ (เช…เชจเซ‡ เชนเชฟเชจเซเชŸเซเชธ เชฎเชพเชคเซเชฐ เช•เซ‹เชฎเชฐเซเชถเชฟเชฏเชฒ เชกเซ€เชฌเซ€เชเชฎเชเชธเชฎเชพเช‚ เชœ เช‰เชชเชฒเชฌเซเชง เช›เซ‡). เชญเชฒเซ‡ เชคเซ‡เช“ เช—เชฎเซ‡ เชคเซ‡เชŸเชฒเชพ เชชเซเชฐเชฏเชคเซเชจเซ‹ เช•เชฐเซ‡, เชคเซ‡เช“ เชฎเชพเช‚ เชฒเซ‡เช–เชฎเชพเช‚ เชชเซเชฐเชฅเชฎ เช•เซเชตเซ‡เชฐเซ€ เชชเซ‚เชฐเซเชฃ เช•เชฐเซ€ เชถเช•เชถเซ‡ เชจเชนเซ€เช‚ O (เชตเชฟเชญเชพเช—เซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพ) เช•เซเชตเซ‡เชฐเซ€เช เชฌเชฆเชฒเซเชฏเชพ เชตเชฟเชจเชพ เช…เชฅเชตเชพ เชŸเซเชฐเชฟเช—เชฐเซเชธ เช‰เชฎเซ‡เชฐเซเชฏเชพ เชตเชฟเชจเชพ. เชธเซ‚เชšเชฟเชค เชฏเซ‹เชœเชจเชพเชฎเชพเช‚, เชตเชฟเช•เชพเชธเชจเชพ เชคเชฌเช•เซเช•เซ‡ เชคเชฎเชพเชฐเซ‡ เชกเซ‡เชŸเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เช…เชจเซ‡ เช•เชฏเชพ เชเช•เชคเซเชฐเซ€เช•เชฐเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เช† เชฌเชงเซเช‚ เชซเซเชฒเชพเชฏ เชชเชฐ เชธเชฐเชณเชคเชพเชฅเซ€ เชฌเชฆเชฒเซ€ เชถเช•เชพเชฏ เช›เซ‡, เชธเซ€เชงเชพ เช“เชชเชฐเซ‡เชถเชจเชฎเชพเช‚.

เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช‚ เชคเซ‡ เช†เชจเชพ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡. เช•เซ‡เชŸเชฒเชพเช• เชฒเซ‹เช•เซ‹ เชธเซ€เชงเชพ เชนเชพเชฅ เชชเชฐเชจเชพ เช•เชพเชฐเซเชฏเชจเชพ เช†เชงเชพเชฐเซ‡ เชคเชฐเซเช• เชตเชฟเช•เชธเชพเชตเซ‡ เช›เซ‡. เชคเซ‡เช“ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชœเชŸเชฟเชฒเชคเชพเชจเซ‡ เชธเชฎเชœเซ€ เชถเช•เชคเชพ เชจเชฅเซ€, เชจ เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจ เชชเซเชฒเชพเชจเซเชธ, เชจ เชคเซ‹ เชœเซ‹เชกเชพเชตเชพเชจเชพ เชชเซเชฐเช•เชพเชฐเซ‹, เชจ เชคเซ‹ เช…เชจเซเชฏ เช•เซ‹เชˆ เชคเช•เชจเซ€เช•เซ€ เช˜เชŸเช•. เช† เชฒเซ‹เช•เซ‹ เชกเซ‡เชตเชฒเชชเชฐเซเชธ เช•เชฐเชคเชพเช‚ เชตเชงเซ เชฌเชฟเชเชจเซ‡เชธ เชเชจเชพเชฒเชฟเชธเซเชŸ เช›เซ‡. เชชเช›เซ€, เช† เชฌเชงเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช…เชฅเชตเชพ เช“เชชเชฐเซ‡เชถเชจเชฎเชพเช‚ เชœเชพเชฏ เช›เซ‡. เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เชšเชพเชฒเชคเซ€ เช•เซเชตเซ‡เชฐเซ€เชเชจเชพ เชฒเซ‹เช—เซ€เช‚เช—เชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเซ‡ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชฒเชพเช‚เชฌเซ€ เช•เซเชตเซ‡เชฐเซ€ เชฎเชณเซ€ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เช…เชจเซเชฏ เชฒเซ‹เช•เซ‹ (เชตเชงเซ เชคเช•เชจเซ€เช•เซ€ - เช…เชจเชฟเชตเชพเชฐเซเชฏเชชเชฃเซ‡ DBA) เช…เชฎเซเช• เชฎเชงเซเชฏเชตเชฐเซเชคเซ€ เช•เชพเชฐเซเชฏ เชชเชฐ MATERIALIZED เชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซ‡ เช›เซ‡. เช† เชฐเซ‡เช•เซ‹เชฐเซเชกเชฟเช‚เช—เชจเซ‡ เชฅเซ‹เชกเซเช‚ เชงเซ€เชฎเซเช‚ เช•เชฐเซ‡ เช›เซ‡ (เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เชจเซ‡ เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช‚ เชตเชงเชพเชฐเชพเชจเชพ เชซเซ€เชฒเซเชกเชจเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡). เชœเซ‹ เช•เซ‡, เชฎเชพเชคเซเชฐ เช† เช•เซเชตเซ‡เชฐเซ€ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชฐเซ€เชคเซ‡ เชเชกเชชเซ€ เชจเชฅเซ€, เชชเชฃ เช…เชจเซเชฏ เชคเชฎเชพเชฎ เช•เซ‡ เชœเซ‡เช“ เช† เช•เชพเชฐเซเชฏเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เชคเซ‡ เชœ เชธเชฎเชฏเซ‡, เช•เชฏเชพ เช•เชพเชฐเซเชฏเชจเซ‡ เชชเซ‚เชฐเซเชฃ เช•เชฐเชตเซเช‚ เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเซเช‚ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เชธเชฐเชณ เช›เซ‡. เชฌเซ‡ เชฎเซเช–เซเชฏ เชชเชฐเชฟเชฎเชพเชฃเซ‹: เชธเช‚เชญเชตเชฟเชค เช‡เชจเชชเซเชŸ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพ (เช† เชคเซ‡ เช›เซ‡ เช•เซ‡ เช…เชจเซเชฐเซ‚เชช เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เช•เซ‡เชŸเชฒเชพ เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธ เชนเชถเซ‡), เช…เชจเซ‡ เช…เชจเซเชฏ เช•เชพเชฐเซเชฏเซ‹เชฎเชพเช‚ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชŸเชฒเซ€ เชตเชพเชฐ เชฅเชพเชฏ เช›เซ‡.

เชเชจเชพเชฒเซ‹เช—

เช†เชงเซเชจเชฟเช• เช•เซ‹เชฎเชฐเซเชถเชฟเชฏเชฒ เชกเซ€เชฌเซ€เชเชฎเชเชธเชฎเชพเช‚ เชธเชฎเชพเชจ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ เช›เซ‡: เชซเชพเชธเซเชŸ เชฐเชฟเชซเซเชฐเซ‡เชถ (เช“เชฐเซ‡เช•เชฒ) เช…เชจเซ‡ เช‡เชจเซเชกเซ‡เช•เซเชธเซเชก เชตเซเชฏเซ‚ (เชฎเชพเชˆเช•เซเชฐเซ‹เชธเซ‹เชซเซเชŸ เชเชธเช•เซเชฏเซเชเชฒ เชธเชฐเซเชตเชฐ) เชธเชพเชฅเซ‡ เชฎเชŸเซ€เชฐเชฟเชฏเชฒเชพเชˆเชเซเชก เชตเซเชฏเซ‚. PostgreSQL เชฎเชพเช‚, เชŸเซเชฐเชพเชจเซเชเซ‡เช•เซเชถเชจเชฎเชพเช‚ เชฎเชŸเซ€เชฐเชฟเชฏเชฒเชพเชˆเชเซเชก เชตเซเชฏเซ‚ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ€ เชถเช•เชพเชคเซ‹ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชฎเชพเชคเซเชฐ เชตเชฟเชจเช‚เชคเซ€ เชชเชฐ (เช…เชจเซ‡ เช–เซ‚เชฌ เช•เชกเช• เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹ เชธเชพเชฅเซ‡ เชชเชฃ), เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชคเชพ เชจเชฅเซ€. เชชเชฐเช‚เชคเซ เชคเซ‡เชฎเชจเซ€ เชชเชพเชธเซ‡ เช˜เชฃเซ€ เชธเชฎเชธเซเชฏเชพเช“ เช›เซ‡ เชœเซ‡ เชคเซ‡เชฎเชจเชพ เช‰เชชเชฏเซ‹เช—เชจเซ‡ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชฐเซ€เชคเซ‡ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเซ‡ เช›เซ‡.

เชชเซเชฐเชฅเชฎ, เชœเซ‹ เชคเชฎเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชจเชฟเชฏเชฎเชฟเชค เชฆเซƒเชถเซเชฏ เชฌเชจเชพเชตเซเชฏเซเช‚ เชนเซ‹เชฏ เชคเซ‹ เชœ เชคเชฎเซ‡ เชญเซŒเชคเชฟเช•เซ€เช•เชฐเชฃเชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชจเชนเชฟเช‚เชคเชฐ, เชคเชฎเชพเชฐเซ‡ เช† เชญเซŒเชคเชฟเช•เซ€เช•เชฐเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชจเชตเชพ เชฌเชจเชพเชตเซ‡เชฒเชพ เชฆเซƒเชถเซเชฏเชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฌเชพเช•เซ€เชจเซ€ เชตเชฟเชจเช‚เชคเซ€เช“ เชซเชฐเซ€เชฅเซ€ เชฒเช–เชตเซ€ เชชเชกเชถเซ‡. เช…เชฅเชตเชพ เชฌเชงเซเช‚ เชœเซ‡เชฎ เช›เซ‡ เชคเซ‡เชฎ เช›เซ‹เชกเซ€ เชฆเซ‹, เชชเชฐเช‚เชคเซ เชคเซ‡ เช“เช›เชพเชฎเชพเช‚ เช“เช›เซเช‚ เชฌเชฟเชจเช…เชธเชฐเช•เชพเชฐเช• เชฐเชนเซ‡เชถเซ‡ เชœเซ‹ เชคเซเชฏเชพเช‚ เชšเซ‹เช•เซเช•เชธ เชชเชนเซ‡เชฒเชพเชฅเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ‡เชฒ เชกเซ‡เชŸเชพ เชนเซ‹เชฏ, เชชเชฐเช‚เชคเซ เช˜เชฃเซ€ เช•เซเชตเซ‡เชฐเซ€ เชนเช‚เชฎเซ‡เชถเชพ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซ€ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเซ€ เชชเซเชจเชƒเช—เชฃเชคเชฐเซ€ เช•เชฐเซ‡ เช›เซ‡.

เชฌเซ€เชœเซเช‚, เชคเซ‡เชฎเชจเซ€ เชชเชพเชธเซ‡ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹ เช›เซ‡:

เช“เชฐเซ‡เช•เชฒ

5.3.8.4 เชซเชพเชธเซเชŸ เชฐเชฟเชซเซเชฐเซ‡เชถ เชชเชฐ เชธเชพเชฎเชพเชจเซเชฏ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹

เชญเซŒเชคเชฟเช• เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃเชจเซ€ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เซเชตเซ‡เชฐเซ€ เชจเซ€เชšเซ‡ เชชเซเชฐเชฎเชพเชฃเซ‡ เชชเซเชฐเชคเชฟเชฌเช‚เชงเชฟเชค เช›เซ‡:

  • เชญเซŒเชคเชฟเช• เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃเชฎเชพเช‚ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชจ เชนเซ‹เชฏ เชคเซ‡เชตเชพ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเช“เชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เชนเซ‹เชตเซ‹ เชœเซ‹เชˆเช เชจเชนเซ€เช‚ SYSDATE เช…เชจเซ‡ ROWNUM.
  • เชญเซŒเชคเชฟเช• เชฆเซƒเชถเซเชฏเชฎเชพเช‚ เชธเช‚เชฆเชฐเซเชญเซ‹ เชจ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช RAW or LONG RAW เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐเซ‹.
  • เชคเซ‡ เชธเชฎเชพเชตเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€ SELECT เชธเซ‚เชšเชฟ เชธเชฌเช•เซเชตเซ‡เชฐเซ€.
  • เชคเซ‡เชฎเชพเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชพเชคเซเชฎเช• เช•เชพเชฐเซเชฏเซ‹ เชถเชพเชฎเซ‡เชฒ เชนเซ‹เชˆ เชถเช•เชคเชพ เชจเชฅเซ€ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, RANKเชฎเชพเช‚ SELECT เช•เชฒเชฎ
  • เชคเซ‡ เช•เซ‹เชทเซเชŸเช•เชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเซ€ เชถเช•เชคเซ‹ เชจเชฅเซ€ เช•เซ‡ เชœเซ‡เชจเชพ เชชเชฐ a XMLIndex เช‡เชจเซเชกเซ‡เช•เซเชธ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เชฅเชฏเซ‡เชฒ เช›เซ‡.
  • เชคเซ‡ เชธเชฎเชพเชตเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€ MODEL เช•เชฒเชฎ
  • เชคเซ‡ เชธเชฎเชพเชตเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€ HAVING เชธเชฌเช•เซเชตเซ‡เชฐเซ€ เชธเชพเชฅเซ‡เชจเซ€ เช•เชฒเชฎ.
  • เชคเซ‡เชฎเชพเช‚ เชจเซ‡เชธเซเชŸเซ‡เชก เช•เซเชตเซ‡เชฐเซ€เช เชนเซ‹เชˆ เชถเช•เชคเซ€ เชจเชฅเซ€ เช•เซ‡ เชœเซ‡ เชนเซ‹เชฏ ANY, ALL, เช…เชฅเชตเชพ NOT EXISTS.
  • เชคเซ‡ เชธเชฎเชพเชตเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€ [START WITH โ€ฆ] CONNECT BY เช•เชฒเชฎ
  • เชคเซ‡ เชตเชฟเชตเชฟเชง เชธเชพเช‡เชŸเซเชธ เชชเชฐ เชฌเชนเซเชตเชฟเชง เชตเชฟเช—เชคเซ‹ เช•เซ‹เชทเซเชŸเช•เซ‹ เชธเชฎเชพเชตเซ€ เชถเช•เชคเชพ เชจเชฅเซ€.
  • ON COMMIT เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚เชฎเชพเช‚ เชฐเชฟเชฎเซ‹เชŸ เชกเชฟเชŸเซ‡เชฒ เช•เซ‹เชทเซเชŸเช•เซ‹ เชนเซ‹เชˆ เชถเช•เชคเชพ เชจเชฅเซ€.
  • เชจเซ‡เชธเซเชŸเซ‡เชก เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚เชฎเชพเช‚ เชœเซ‹เชกเชพเชตเชพ เช…เชฅเชตเชพ เชเช•เช‚เชฆเชฐ เชนเซ‹เชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡.
  • เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชœเซ‹เชกเชพเชจ เชตเซเชฏเซ‚ เช…เชจเซ‡ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชเช—เซเชฐเชฟเช—เซ‡เชŸ เชตเซเชฏเซ‚ เช GROUP BY เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพ-เชตเซเชฏเชตเชธเซเชฅเชฟเชค เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚เชฅเซ€ เช•เชฒเชฎ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชถเช•เชพเชคเซ€ เชจเชฅเซ€.

5.3.8.5 เชฎเชพเชคเซเชฐ เชœเซ‹เชกเชพเชตเชพ เชธเชพเชฅเซ‡ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ เชชเชฐ เชซเชพเชธเซเชŸ เชฐเชฟเชซเซเชฐเซ‡เชถ เชชเชฐ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹

เชฎเชพเชคเซเชฐ เชœเซ‹เชกเชพเช“ เชธเชพเชฅเซ‡ เชญเซŒเชคเชฟเช• เชฆเซƒเชถเซเชฏเซ‹ เชฎเชพเชŸเซ‡ เช•เซเชตเซ‡เชฐเซ€เชเชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเซ€ เช…เชจเซ‡ เช•เซ‹เชˆ เชเช•เช‚เชฆเชฐเชฎเชพเช‚ เชเชกเชชเซ€ เชฐเชฟเชซเซเชฐเซ‡เชถ เชชเชฐ เชจเซ€เชšเซ‡เชจเชพ เชจเชฟเชฏเช‚เชคเซเชฐเชฃเซ‹ เชจเชฅเซ€:

  • เชคเชฎเชพเชฎ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹ ยซเชซเชพเชธเซเชŸ เชฐเชฟเชซเซเชฐเซ‡เชถ เชชเชฐ เชธเชพเชฎเชพเชจเซเชฏ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹".
  • เชคเซ‡เชฎเชจเซ€ เชชเชพเชธเซ‡ เชจเชฅเซ€ GROUP BY เช•เชฒเชฎเซ‹ เช…เชฅเชตเชพ เชเช•เช‚เชฆเชฐ.
  • เชฎเชพเช‚ เชคเชฎเชพเชฎ เช•เซ‹เชทเซเชŸเช•เซ‹เชจเซ€ เชฐเซ‹เชตเชฟเชกเซเชธ FROM เชฏเชพเชฆเซ€เชฎเชพเช‚ เชฆเซ‡เช–เชพเชตเชพ เชœเซ‹เชˆเช SELECT เช•เซเชตเซ‡เชฐเซ€ เชฏเชพเชฆเซ€.
  • เชฎเชพเช‚ เชคเชฎเชพเชฎ เช†เชงเชพเชฐ เช•เซ‹เชทเซเชŸเช•เซ‹ เชฎเชพเชŸเซ‡ เชฐเซ‹เชตเชฟเชกเซเชธ เชธเชพเชฅเซ‡ เชฎเชŸเซ€เชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ เชฒเซ‹เช—เซเชธ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช FROM เช•เซเชตเซ‡เชฐเซ€ เชฏเชพเชฆเซ€.
  • เชคเชฎเซ‡ เชฌเชนเซเชตเชฟเชง เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚เชฅเซ€ เชธเชฐเชณ เชœเซ‹เชกเชพ เชธเชพเชฅเซ‡ เชเชกเชชเซ€ เชฐเซ€เชซเซเชฐเซ‡เชถเซ‡เชฌเชฒ เชฎเชŸเซ€เชฐเซ€เชฒเชพเชˆเชเซเชก เชตเซเชฏเซ เชฌเชจเชพเชตเซ€ เชถเช•เชคเชพ เชจเชฅเซ€ เชœเซ‡เชฎเชพเช‚ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชชเซเชฐเช•เชพเชฐ เช•เซ‰เชฒเชฎเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. SELECT เชจเชฟเชตเซ‡เชฆเชจ

เช‰เชชเชฐเชพเช‚เชค, เชคเชฎเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒเซ€ เชฐเซ€เชซเซเชฐเซ‡เชถ เชชเชฆเซเชงเชคเชฟ เชถเซเชฐเซ‡เชทเซเช  เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เชฐเชนเซ‡เชถเซ‡ เชจเชนเซ€เช‚ เชœเซ‹:

  • เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เซเชตเซ‡เชฐเซ€ เชฌเชพเชนเซเชฏ เชœเซ‹เชกเชพเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เช†เช‚เชคเชฐเชฟเช• เชœเซ‹เชกเชพเชฃเชจเซ€ เชœเซ‡เชฎ เชตเชฐเซเชคเซ‡ เช›เซ‡. เชœเซ‹ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เซเชตเซ‡เชฐเซ€ เช†เชตเชพ เชœเซ‹เชกเชพเชฃ เชงเชฐเชพเชตเซ‡ เช›เซ‡, เชคเซ‹ เช†เช‚เชคเชฐเชฟเช• เชœเซ‹เชกเชพเชตเชพ เชฎเชพเชŸเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เซเชตเซ‡เชฐเซ€ เชซเชฐเซ€เชฅเซ€ เชฒเช–เชตเชพเชจเซเช‚ เชตเชฟเชšเชพเชฐเซ‹.
  • เช† SELECT เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚เชจเซ€ เชธเซ‚เชšเชฟเชฎเชพเช‚ เชฌเชนเซเชตเชฟเชง เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚เชฅเซ€ เช•เซ‰เชฒเชฎ เชชเชฐเชจเชพ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเช“ เชถเชพเชฎเซ‡เชฒ เช›เซ‡.

5.3.8.6 เชเช—เซเชฐเซ€เช—เซ‡เชŸเซเชธ เชธเชพเชฅเซ‡ เชฎเชŸเซ€เชฐเชฟเชฏเชฒเชพเชˆเชเซเชก เชตเซเชฏเซ‚ เชชเชฐ เชซเชพเชธเซเชŸ เชฐเชฟเชซเซเชฐเซ‡เชถ เชชเชฐ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹

เชเช—เซเชฐเซ€เช—เซ‡เชŸเซเชธ เช…เชฅเชตเชพ เชœเซ‹เชกเชพเช“ เชธเชพเชฅเซ‡ เชญเซŒเชคเชฟเช• เชฆเซƒเชถเซเชฏเซ‹ เชฎเชพเชŸเซ‡ เช•เซเชตเซ‡เชฐเซ€เชเชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเชกเชชเซ€ เชฐเชฟเชซเซเชฐเซ‡เชถ เชชเชฐ เชจเซ€เชšเซ‡เชจเชพ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹ เช›เซ‡:

เชซเชพเชธเซเชŸ เชฐเชฟเชซเซเชฐเซ‡เชถ เชฌเช‚เชจเซ‡ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡ ON COMMIT เช…เชจเซ‡ ON DEMAND เชญเซŒเชคเชฟเช• เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃ, เชœเซ‹ เช•เซ‡ เชจเซ€เชšเซ‡เชจเชพ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹ เชฒเชพเช—เซ เชชเชกเซ‡ เช›เซ‡:

  • เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚เชฎเชพเช‚ เชคเชฎเชพเชฎ เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ เชฒเซ‰เช—เซเชธ เชนเซ‹เชตเชพ เช†เชตเชถเซเชฏเช• เช›เซ‡ เช…เชจเซ‡ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ เชฒเซ‰เช—เซเชธ เช†เชตเชถเซเชฏเช• เช›เซ‡:
    • เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚เชฎเชพเช‚ เชธเช‚เชฆเชฐเซเชญเชฟเชค เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚เชฅเซ€ เชคเชฎเชพเชฎ เช•เซ‰เชฒเชฎ เชถเชพเชฎเซ‡เชฒ เช›เซ‡.
    • เชธเชพเชฅเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเซ‹ ROWID เช…เชจเซ‡ INCLUDING NEW VALUES.
    • เช† เชธเซเชชเชทเซเชŸ เช•เชฐเซ‹ SEQUENCE เชœเซ‹ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชฆเชพเช–เชฒ/เชกเชพเชฏเชฐเซ‡เช•เซเชŸ-เชฒเซ‹เชก, เชกเชฟเชฒเซ€เชŸ เช…เชจเซ‡ เช…เชชเชกเซ‡เชŸเซเชธเชจเซเช‚ เชฎเชฟเชถเซเชฐเชฃ เชนเซ‹เชตเชพเชจเซ€ เช…เชชเซ‡เช•เซเชทเชพ เชนเซ‹เชฏ เชคเซ‹ เช•เชฒเชฎ.

  • เชฎเชพเชคเซเชฐ SUM, COUNT, AVG, STDDEV, VARIANCE, MIN เช…เชจเซ‡ MAX เชเชกเชชเซ€ เชฐเชฟเชซเซเชฐเซ‡เชถ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡.
  • COUNT(*) เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชนเซ‹เชตเซเช‚ เชœ เชœเซ‹เชˆเช.
  • เชเช•เช‚เชฆเชฐ เช•เชพเชฐเซเชฏเซ‹ เชฎเชพเชคเซเชฐ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเชจเชพ เชธเซŒเชฅเซ€ เชฌเชพเชนเซเชฏ เชญเชพเช— เชคเชฐเซ€เช•เซ‡ เชœ เชฅเชตเชพ เชœเซ‹เชˆเช. เชเชŸเชฒเซ‡ เช•เซ‡, เชเช•เช‚เชฆเชฐ เชœเซ‡เชฎ เช•เซ‡ AVG(AVG(x)) or AVG(x)+ AVG(x) เชฎเช‚เชœเซ‚เชฐเซ€ เชจเชฅเซ€.
  • เชœเซ‡เชฎ เช•เซ‡ เชฆเชฐเซ‡เช• เชเช•เช‚เชฆเชฐ เชฎเชพเชŸเซ‡ AVG(expr), เช…เชจเซเชฐเซ‚เชช COUNT(expr) เชนเชพเชœเชฐ เชฐเชนเซ‡เชตเซเช‚ เชœเซ‹เชˆเช. เช“เชฐเซ‡เช•เชฒ เชคเซ‡เชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ‡ เช›เซ‡ SUM(expr) เชธเซเชชเชทเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.
  • If VARIANCE(expr) or STDDEV(expr) เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เช›เซ‡, COUNT(expr) เช…เชจเซ‡ SUM(expr) เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชนเซ‹เชตเซเช‚ เชœ เชœเซ‹เชˆเช. เช“เชฐเซ‡เช•เชฒ เชคเซ‡เชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ‡ เช›เซ‡ SUM(expr *expr) เชธเซเชชเชทเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.
  • เช† SELECT เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เซเชตเซ‡เชฐเซ€ เชฎเชพเช‚ เช•เซ‰เชฒเชฎ เชฌเชนเซเชตเชฟเชง เช†เชงเชพเชฐ เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚เชฅเซ€ เช•เซ‰เชฒเชฎ เชธเชพเชฅเซ‡ เชœเชŸเชฟเชฒ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟ เชจ เชนเซ‹เชˆ เชถเช•เซ‡. เช†เชจเซ‹ เชธเช‚เชญเชตเชฟเชค เช‰เช•เซ‡เชฒ เช เชจเซ‡เชธเซเชŸเซ‡เชก เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ‹ เช›เซ‡.
  • เช† SELECT เชธเซ‚เชšเชฟเชฎเชพเช‚ เชฌเชงเซเช‚ เชœ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช GROUP BY เช•เซ‰เชฒเชฎ.
  • เชญเซŒเชคเชฟเช• เชฆเซƒเชถเซเชฏ เชเช• เช…เชฅเชตเชพ เชตเชงเซ เชฆเซ‚เชฐเชธเซเชฅ เช•เซ‹เชทเซเชŸเช•เซ‹ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชจเชฅเซ€.
  • เชœเซ‹ เชคเชฎเซ‡ เช CHAR เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ เชฒเซ‰เช—เชจเชพ เชซเชฟเชฒเซเชŸเชฐ เช•เซ‰เชฒเชฎเชฎเชพเช‚ เชกเซ‡เชŸเชพเชจเซ‹ เชชเซเชฐเช•เชพเชฐ, เชฎเชพเชธเซเชŸเชฐ เชธเชพเช‡เชŸเชจเชพ เช•เซ…เชฐเซ‡เช•เซเชŸเชฐ เชธเซ‡เชŸเซเชธ เช…เชจเซ‡ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ เชธเชฎเชพเชจ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช.
  • เชœเซ‹ เชฎเชŸเซ€เชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚เชฎเชพเช‚ เชจเซ€เชšเซ‡เชจเชพเชฎเชพเช‚เชฅเซ€ เชเช• เชนเซ‹เชฏ, เชคเซ‹ เชเชกเชชเซ€ เชฐเชฟเชซเซเชฐเซ‡เชถ เชฎเชพเชคเซเชฐ เชชเชฐเช‚เชชเชฐเชพเช—เชค DML เช‡เชจเซเชธเชฐเซเชŸ เช…เชจเซ‡ เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เชฒเซ‹เชก เชชเชฐ เชœ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡.
    • เชธเชพเชฅเซ‡ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ MIN or MAX เชเช•เชคเซเชฐเซ€เช•เชฐเชฃ
    • เชฎเชŸเซ€เชฐเซ€เชฒเชพเชˆเชเซเชก เชตเซเชฏเซ เชœเซ‡ เช›เซ‡ SUM(expr) เชชเชฃ เชจเชพ COUNT(expr)
    • เชตเชฟเชจเชพ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ COUNT(*)

    เช†เชตเชพ เชฎเชŸเซ€เชฐเซ€เชฒเชพเชˆเชเซเชก เชตเซเชฏเซเชจเซ‡ เชˆเชจเซเชธเชฐเซเชŸ-เช“เชจเซเชฒเซ€ เชฎเชŸเซ€เชฐเซ€เชฒเชพเชˆเชเซเชก เชตเซเชฏเซ เช•เชนเซ‡เชตเชพเชฏ เช›เซ‡.

  • เชธเชพเชฅเซ‡ เชเช• เชญเซŒเชคเชฟเช• เชฆเซƒเชถเซเชฏ MAX or MIN เชกเชฟเชฒเซ€เชŸ เช…เชฅเชตเชพ เชฎเชฟเชถเซเชฐเชฟเชค เชกเซ€เชเชฎเชเชฒ เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸ เชœเซ‹ เชคเซ‡เชฎเชพเช‚ a เชจ เชนเซ‹เชฏ เชคเซ‹ เชคเซ‡ เชเชกเชชเชฅเซ€ เชฐเชฟเชซเซเชฐเซ‡เชถ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ WHERE เช•เชฒเชฎ
    เชกเชฟเชฒเซ€เชŸ เช…เชฅเชตเชพ เชฎเชฟเชถเซเชฐเชฟเชค เชกเซ€เชเชฎเชเชฒ เชชเช›เซ€ เชฎเชนเชคเซเชคเชฎ/เชฎเชฟเชจเชฟเชŸ เชเชกเชชเซ€ เชคเชพเชœเซเช‚ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชซเช•เซเชค เชฆเชพเช–เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เช•เซ‡เชธ เชœเซ‡เชตเซเช‚ เชœ เชตเชฐเซเชคเชจ เชจเชฅเซ€. เชคเซ‡ เช…เชธเชฐเช—เซเชฐเชธเซเชค เชœเซ‚เชฅเซ‹ เชฎเชพเชŸเซ‡ เชฎเชนเชคเซเชคเชฎ/เชฎเชฟเชจเชฟเชŸ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เซ‡ เช›เซ‡ เช…เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ‡ เช›เซ‡. เชคเชฎเชพเชฐเซ‡ เชคเซ‡เชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ€ เช…เชธเชฐ เชตเชฟเชถเซ‡ เชœเชพเช—เซƒเชค เชฐเชนเซ‡เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.
  • เชฎเชพเช‚ เชจเชพเชฎเชพเช‚เช•เชฟเชค เชฆเซƒเชถเซเชฏเซ‹ เช…เชฅเชตเชพ เชธเชฌเช•เซเชตเซ‡เชฐเซ€เช เชธเชพเชฅเซ‡ เชญเซŒเชคเชฟเช• เชฆเซƒเชถเซเชฏเซ‹ FROM เชœเซ‹ เชฎเช‚เชคเชตเซเชฏเซ‹ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชฎเชฐเซเชœ เช•เชฐเซ€ เชถเช•เชพเชฏ เชคเซ‹ เช•เชฒเชฎ เชเชกเชชเชฅเซ€ เชคเชพเชœเซ€ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช•เชฏเชพ เชฆเซƒเชถเซเชฏเซ‹ เชฎเชฐเซเชœ เชฅเชถเซ‡ เชคเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชฎเชพเชŸเซ‡, เชœเซเช“ เช“เชฐเซ‡เช•เชฒ เชกเซ‡เชŸเชพเชฌเซ‡เช SQL เชญเชพเชทเชพ เชธเช‚เชฆเชฐเซเชญ.
  • เชœเซ‹ เชคเซเชฏเชพเช‚ เช•เซ‹เชˆ เชฌเชพเชนเซเชฏ เชœเซ‹เชกเชพเชฃเซ‹ เชจ เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเซ‡ เชฎเชจเชธเซเชตเซ€ เชชเชธเช‚เชฆเช—เซ€เช“ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชฎเชพเช‚ เชœเซ‹เชกเชพเชˆ เชถเช•เซ‹ เช›เซ‹ WHERE เช•เชฒเชฎ
  • เชชเชฐเช‚เชชเชฐเชพเช—เชค DML เช…เชจเซ‡ เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เชฒเซ‹เชก เชชเช›เซ€ เชฌเชพเชนเซเชฏ เชœเซ‹เชกเชพเชฃเซ‹ เชธเชพเชฅเซ‡เชจเชพ เชฎเชŸเซ€เชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชเช•เช‚เชฆเชฐ เชฆเซƒเชถเซเชฏเซ‹ เชเชกเชชเชฅเซ€ เชฐเชฟเชซเซเชฐเซ‡เชถ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡, เชœเซ‹ เช•เซ‡ เชฎเชพเชคเซเชฐ เชฌเชพเชนเซเชฏ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเซ‹เชฏ. เช‰เชชเชฐเชพเช‚เชค, เช†เช‚เชคเชฐเชฟเช• เชœเซ‹เชกเชพเชตเชพ เช•เซ‹เชทเซเชŸเช•เชจเซ€ เชœเซ‹เชกเชพเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เช•เซ‰เชฒเชฎ เชชเชฐ เช…เชจเชจเซเชฏ เช…เชตเชฐเซ‹เชงเซ‹ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช. เชœเซ‹ เชคเซเชฏเชพเช‚ เชฌเชพเชนเซเชฏ เชœเซ‹เชกเชพเชฃเซ‹ เชนเซ‹เชฏ, เชคเซ‹ เชฌเชงเชพ เชœเซ‹เชกเชพเช“ เชฆเซเชตเชพเชฐเชพ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช ANDs เช…เชจเซ‡ เชธเชฎเชพเชจเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชœเซ‹เชˆเช (=) เช“เชชเชฐเซ‡เชŸเชฐ.
  • เชธเชพเชฅเซ‡ เชญเซŒเชคเชฟเช• เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃ เชฎเชพเชŸเซ‡ CUBE, ROLLUP, เชœเซ‚เชฅเชฌเชฆเซเชง เชธเชฎเซ‚เชนเซ‹, เช…เชฅเชตเชพ เชคเซ‡เชฎเชจเชพ เชœเซ‹เชกเชพเชฃ เชฎเชพเชŸเซ‡, เชจเซ€เชšเซ‡เชจเชพ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹ เชฒเชพเช—เซ เชฅเชพเชฏ เช›เซ‡:
    • เช† SELECT เชธเซ‚เชšเชฟเชฎเชพเช‚ เชœเซ‚เชฅเชฌเช‚เชงเซ€ เชตเชฟเชญเชพเชœเช• เชนเซ‹เชตเซ‹ เชœเซ‹เชˆเช เชœเซ‡ เช•เซเชฏเชพเช‚ เชคเซ‹ a เชนเซ‹เชˆ เชถเช•เซ‡ GROUPING_ID เชฌเชงเชพ เชชเชฐ เช•เชพเชฐเซเชฏ GROUP BY เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเช“ เช…เชฅเชตเชพ GROUPING เชฆเชฐเซ‡เช• เชฎเชพเชŸเซ‡ เชเช• เช•เชพเชฐเซเชฏ GROUP BY เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟ เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ GROUP BY เชญเซŒเชคเชฟเช• เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃเชจเซ€ เช•เชฒเชฎ เช›เซ‡ "GROUP BY CUBE(a, b)", เชชเช›เซ€ เชง SELECT เชธเซ‚เชšเชฟเชฎเชพเช‚ "GROUPING_ID(a, b)ยป เช…เชฅเชตเชพ ยซGROUPING(a) AND GROUPING(b)ยป เชฎเชŸเซ€เชฐเซ€เชฒเชพเชˆเชเซเชก เชตเซเชฏเซ‚เชจเซ‡ เชเชกเชชเซ€ เชฐเชฟเชซเซเชฐเซ‡เชถ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡.
    • GROUP BY เช•เซ‹เชˆเชชเชฃ เชกเซเชชเซเชฒเชฟเช•เซ‡เชŸ เชœเซ‚เชฅเซ‹เชฎเชพเช‚ เชชเชฐเชฟเชฃเชฎเชตเซเช‚ เชœเซ‹เชˆเช เชจเชนเซ€เช‚. เชฆเชพเช–เซเชฒเชพ เชคเชฐเซ€เช•เซ‡, "GROUP BY a, ROLLUP(a, b)"เชคเซ‡ เชเชกเชชเชฅเซ€ เชคเชพเชœเซเช‚ เช•เชฐเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซเช‚ เชจเชฅเซ€ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชกเซเชชเซเชฒเชฟเช•เซ‡เชŸ เชœเซ‚เชฅเซ‹เชฎเชพเช‚ เชชเชฐเชฟเชฃเชฎเซ‡ เช›เซ‡"(a), (a, b), AND (a)".

5.3.8.7 UNION ALL เชธเชพเชฅเซ‡ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ เชชเชฐ เชซเชพเชธเซเชŸ เชฐเชฟเชซเซเชฐเซ‡เชถ เชชเชฐ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹

เชธเชพเชฅเซ‡ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชฆเซƒเชถเซเชฏเซ‹ UNION ALL เชธเซ‡เชŸ เช“เชชเชฐเซ‡เชŸเชฐ เช†เชงเชพเชฐ เช†เชชเซ‡ เช›เซ‡ REFRESH FAST เชœเซ‹ เชจเซ€เชšเซ‡เชจเซ€ เชถเชฐเชคเซ‹ เชธเช‚เชคเซเชทเซเชŸ เชนเซ‹เชฏ เชคเซ‹ เชตเชฟเช•เชฒเซเชช:

  • เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เซเชตเซ‡เชฐเซ€ เชนเซ‹เชตเซ€ เช†เชตเชถเซเชฏเช• เช›เซ‡ UNION ALL เชŸเซ‹เชšเชจเชพ เชธเซเชคเชฐเซ‡ เช“เชชเชฐเซ‡เชŸเชฐ.

    เช† UNION ALL เช‘เชชเชฐเซ‡เชŸเชฐเชจเซ‡ เชธเชฌเช•เซเชตเซ‡เชฐเซ€ เช…เช‚เชฆเชฐ เชเชฎเซเชฌเซ‡เชก เช•เชฐเซ€ เชถเช•เชพเชคเซเช‚ เชจเชฅเซ€, เชเช• เช…เชชเชตเชพเชฆ เชธเชพเชฅเซ‡: The UNION ALL เชฎเชพเช‚ เชธเชฌเช•เซเชตเซ‡เชฐเซ€ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ FROM เช•เชฒเชฎ เชชเซ‚เชฐเซ€ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เซเชตเซ‡เชฐเซ€ เชซเซ‹เชฐเซเชฎเชจเซ€ เช›เซ‡ SELECT * FROM (เชธเชพเชฅเซ‡ เชœเซเช“ เช…เชฅเชตเชพ เชธเชฌเช•เซเชตเซ‡เชฐเซ€ เช•เชฐเซ‹ UNION ALL) เชจเซ€เชšเซ‡เชจเชพ เช‰เชฆเชพเชนเชฐเชฃเชจเซ€ เชœเซ‡เชฎ:

    เชœเซเช“ เชตเซเชฏเซ_เชตเชฟเชฅ_เชฏเซเชจเชฟเชฏเซ‹เชจเชฒ AS เชฌเชจเชพเชตเซ‹ (เช—เซเชฐเชพเชนเช•เซ‹ เชชเชพเชธเซ‡เชฅเซ€ c.rowid crid, c.cust_id, 2 umarker เชชเชธเช‚เชฆ เช•เชฐเซ‹ c เชœเซเชฏเชพเช‚ c.cust_last_name = 'Smith' UNION เชฌเชงเชพ เชชเชธเช‚เชฆ เช•เชฐเซ‹ c.rowid crid, c.cust_id, 3 umarker FROM เช—เซเชฐเชพเชนเช•เซ‹ เชชเชพเชธเซ‡เชฅเซ€ c_last_name. 'เชœเซ‹เชจเซเชธ'); เชฏเซเชจเชฟเชฏเชจเชฒ_เช‡เชจเชธเชพเช‡เชก_เชตเซเชฏเซ_เชเชฎเชตเซ€เชจเซ‡ เชฎเชŸเซ€เชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ เชฌเชจเชพเชตเซ‹ เชชเชธเช‚เชฆ เช•เชฐเซ‹ * เชตเซเชฏเซ_เชตเชฟเชฅ_เชฏเซเชจเชฟเชฏเชจเชฒเชฎเชพเช‚เชฅเซ€;
    

    เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เชฆเซƒเชถเซเชฏ view_with_unionall เชเชกเชชเซ€ เชฐเชฟเชซเซเชฐเซ‡เชถ เชฎเชพเชŸเซ‡เชจเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹เชจเซ‡ เชธเช‚เชคเซ‹เชทเซ‡ เช›เซ‡.

  • เชฎเชพเช‚ เชฆเชฐเซ‡เช• เช•เซเชตเซ‡เชฐเซ€ เชฌเซเชฒเซ‹เช• UNION ALL เช•เซเชตเซ‡เชฐเซ€ เชเช—เซเชฐเชฟเช—เซ‡เชŸเซเชธ เชธเชพเชฅเซ‡ เชเชกเชชเซ€ เชฐเชฟเชซเซเชฐเซ‡เชถ เช•เชฐเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ เช…เชฅเชตเชพ เชœเซ‹เช‡เชจ เชธเชพเชฅเซ‡ เชเชกเชชเซ€ เชฐเชฟเชซเซเชฐเซ‡เชถเซ‡เชฌเชฒ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚เชจเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹เชจเซ‡ เชธเช‚เชคเซ‹เชทเชตเซ€ เช†เชตเชถเซเชฏเช• เช›เซ‡.

    เชฏเซ‹เช—เซเชฏ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ เชฒเซ‰เช—เซเชธ เช•เซ‹เชทเซเชŸเช•เซ‹ เชชเชฐ เชฌเชจเชพเชตเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เชชเซเชฐเช•เชพเชฐเชจเชพ เชเชกเชชเซ€ เชฐเชฟเชซเซเชฐเซ‡เชถเซ‡เชฌเชฒ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡.
    เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เช“เชฐเซ‡เช•เชฒ เชกเซ‡เชŸเชพเชฌเซ‡เช เชเช• เชŸเซ‡เชฌเชฒ เชฎเชŸเซ€เชฐเซ€เชฒเชพเชˆเชเซเชก เชตเซเชฏเซเชจเชพ เชตเชฟเชถเชฟเชทเซเชŸ เช•เซ‡เชธเชจเซ‡ เชซเช•เซเชค เชœเซ‹เชกเชพ เชธเชพเชฅเซ‡ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡. ROWID เชฎเชพเช‚ เช•เซ‰เชฒเชฎเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡ SELECT เชธเซ‚เชšเชฟ เช…เชจเซ‡ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ เชฒเซ‹เช—เชฎเชพเช‚. เช† เชฆเซƒเชถเซเชฏเชจเซ€ เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เช•เซเชตเซ‡เชฐเซ€ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ view_with_unionall.

  • เช† SELECT เชฆเชฐเซ‡เช• เช•เซเชตเซ‡เชฐเซ€ เชจเซ€ เชฏเชพเชฆเซ€เชฎเชพเช‚ เชเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชตเซ‹ เชœเซ‹เชˆเช UNION ALL เชฎเชพเชฐเซเช•เชฐ, เช…เชจเซ‡ UNION ALL เช•เซ‰เชฒเชฎเชฎเชพเช‚ เชฆเชฐเซ‡เช•เชฎเชพเช‚ เชเช• เช…เชฒเช— เช…เชšเชณ เช†เช‚เช•เชกเชพเช•เซ€เชฏ เช…เชฅเชตเชพ เชธเซเชŸเซเชฐเชฟเช‚เช— เชฎเซ‚เชฒเซเชฏ เชนเซ‹เชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡ UNION ALL เชถเชพเช–เชพ เช†เช—เชณ, เชฎเชพเชฐเซเช•เชฐ เช•เซ‰เชฒเชฎ เชฎเชพเช‚ เชธเชฎเชพเชจ เช•เซเชฐเชฎเชจเซ€ เชธเซเชฅเชฟเชคเชฟเชฎเชพเช‚ เชฆเซ‡เช–เชพเชตเชพ เชœเซ‹เชˆเช SELECT เชฆเชฐเซ‡เช• เช•เซเชตเซ‡เชฐเซ€ เชฌเซเชฒเซ‹เช•เชจเซ€ เชฏเชพเชฆเซ€. เชœเซเช“ "เชฏเซเชจเชฟเชฏเชจ เช“เชฒ เชฎเชพเชฐเซเช•เชฐ เช…เชจเซ‡ เช•เซเชตเซ‡เชฐเซ€ เชฐเซ€เชฐเชพเชˆเชŸยป เชธเช‚เชฌเช‚เชงเชฟเชค เชตเชงเซ เชฎเชพเชนเชฟเชคเซ€ เชฎเชพเชŸเซ‡ UNION ALL เชฎเชพเชฐเซเช•เชฐเซเชธ.
  • เช•เซ‡เชŸเชฒเซ€เช• เชธเซเชตเชฟเชงเชพเช“ เชœเซ‡เชฎ เช•เซ‡ เช†เช‰เชŸเชฐ เชœเซ‹เช‡เชจ, เช‡เชจเซเชธเชฐเซเชŸ-เช“เชจเซเชฒเซ€ เชเช—เซเชฐเซ€เช—เซ‡เชŸ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ เช•เซเชตเซ‡เชฐเซ€ เช…เชจเซ‡ เชฐเชฟเชฎเซ‹เชŸ เช•เซ‹เชทเซเชŸเช•เซ‹ เชธเชพเชฅเซ‡ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เชจเชฅเซ€ UNION ALL. เชจเซ‹เช‚เชง เช•เชฐเซ‹, เชœเซ‹ เช•เซ‡, เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟเชฎเชพเช‚ เชตเชชเชฐเชพเชคเชพ เชฎเชŸเซ€เชฐเซ€เชฒเชพเชˆเชเซเชก เชตเซเชฏเซเช, เชœเซ‡เชฎเชพเช‚ เชœเซ‹เชกเชพ เช•เซ‡ เชเช—เซเชฐเซ€เช—เซ‡เชŸเซเชธ เชนเซ‹เชคเชพ เชจเชฅเซ€, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡เชจเซ‡ เชเชกเชชเชฅเซ€ เชฐเชฟเชซเซเชฐเซ‡เชถ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. UNION ALL เช…เชฅเชตเชพ เชฆเซ‚เชฐเชธเซเชฅ เช•เซ‹เชทเซเชŸเช•เซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡.
  • เชธเชพเชฅเซ‡ เชเชกเชชเซ€ เชฐเชฟเชซเซเชฐเซ‡เชถเซ‡เชฌเชฒ เชฎเชŸเชฟเชฐเชฟเชฏเชฒเชพเช‡เชเซเชก เชตเซเชฏเซ‚ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชธเซเชธเช‚เช—เชคเชคเชพ เช†เชฐเช‚เชญ เชชเชฐเชฟเชฎเชพเชฃ 9.2.0 เช…เชฅเชตเชพ เช‰เชšเซเชš เชชเชฐ เชธเซ‡เชŸ เช•เชฐเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡. UNION ALL.

เชนเซเช‚ เช“เชฐเซ‡เช•เชฒเชจเชพ เชšเชพเชนเช•เซ‹เชจเซ‡ เชจเชพเชฐเชพเชœ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชคเซ‡เชฎเชจเชพ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹เชจเซ€ เชธเซ‚เชšเชฟเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชคเชพ, เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เช† เชชเชฆเซเชงเชคเชฟ เชธเชพเชฎเชพเชจเซเชฏ เช•เซ‡เชธเชฎเชพเช‚ เช•เซ‹เชˆเช• เชชเซเชฐเช•เชพเชฐเชจเชพ เชฎเซ‹เชกเซ‡เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชนเชœเชพเชฐเซ‹ เชญเชพเชฐเชคเซ€เชฏเซ‹ เชฆเซเชตเชพเชฐเชพ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€, เชœเซเชฏเชพเช‚ เชฆเชฐเซ‡เช•เชจเซ‡ เชคเช• เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€. เชคเซ‡เชฎเชจเซ€ เชชเซ‹เชคเชพเชจเซ€ เชถเชพเช–เชพ เชฒเช–เซ‹, เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚เชจเชพ เชฆเชฐเซ‡เช•เซ‡ เชคเซ‡ เช•เชฐเซ€ เชถเช•เซ‡ เชคเซ‡ เช•เชฐเซเชฏเซเช‚. เช…เชจเซ‡ เช•เชฐเซเชฏเซเช‚. เชตเชพเชธเซเชคเชตเชฟเช• เชคเชฐเซเช• เชฎเชพเชŸเซ‡ เช† เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เช เชฎเชพเช‡เชจเชซเชฟเชฒเซเชกเชฎเชพเช‚เชฅเซ€ เชšเชพเชฒเชตเชพ เชœเซ‡เชตเซเช‚ เช›เซ‡. เชคเชฎเซ‡ เช•เซ‹เชˆเชชเชฃ เชธเชฎเชฏเซ‡ เชฌเชฟเชจ-เชธเซเชชเชทเซเชŸ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹เชฎเชพเช‚เชฅเซ€ เชเช•เชจเซ‡ เชนเชฟเชŸ เช•เชฐเซ€เชจเซ‡ เช–เชพเชฃ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‹ เช›เซ‹. เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชชเชฃ เชเช• เช…เชฒเช— เชชเซเชฐเชถเซเชจ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เช† เชฒเซ‡เช–เชจเชพ เช…เชตเช•เชพเชถเชจเซ€ เชฌเชนเชพเชฐ เช›เซ‡.

เชฎเชพเชˆเช•เซเชฐเซ‹เชธเซ‹เชซเซเชŸ เชเชธเช•เซเชฏเซเชเชฒ เชธเชฐเซเชตเชฐ

เชตเชงเชพเชฐเชพเชจเซ€ เชœเชฐเซ‚เชฐเซ€เชฏเชพเชคเซ‹

SET เชตเชฟเช•เชฒเซเชชเซ‹ เช…เชจเซ‡ เชจเชฟเชฐเซเชฃเชพเชฏเช• เช•เชพเชฐเซเชฏ เช†เชตเชถเซเชฏเช•เชคเชพเช“ เช‰เชชเชฐเชพเช‚เชค, เชจเซ€เชšเซ‡เชจเซ€ เช†เชตเชถเซเชฏเช•เชคเชพเช“เชจเซ‡ เชชเซ‚เชฐเซเชฃ เช•เชฐเชตเซ€ เช†เชตเชถเซเชฏเช• เช›เซ‡:

  • เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เช•เซ‡ เชœเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเซ‡ เช›เซ‡ CREATE INDEX เชฆเซƒเชถเซเชฏเชจเซ‹ เชฎเชพเชฒเชฟเช• เชนเซ‹เชตเซ‹ เชœเซ‹เชˆเช.
  • เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เช‡เชจเซเชกเซ‡เช•เซเชธ เชฌเชจเชพเชตเซ‹ เช›เซ‹, เชคเซเชฏเชพเชฐเซ‡ IGNORE_DUP_KEY เชตเชฟเช•เชฒเซเชช เชฌเช‚เชง (เชกเชฟเชซเซ‰เชฒเซเชŸ เชธเซ‡เชŸเชฟเช‚เช—) เชชเชฐ เชธเซ‡เชŸ เชนเซ‹เชตเซ‹ เชœเซ‹เชˆเช.
  • เช•เซ‹เชทเซเชŸเช•เซ‹ เชฌเซ‡ เชญเชพเช—เชจเชพ เชจเชพเชฎเซ‹ เชฆเซเชตเชพเชฐเชพ เชธเช‚เชฆเชฐเซเชญเชฟเชค เชนเซ‹เชตเชพ เชœเซ‹เชˆเช, เชธเซเช•เซ€เชฎเชพ.เชŸเซ‡เชฌเชฒเชจเซเช‚ เชจเชพเชฎ เชฆเซƒเชถเซเชฏ เชตเซเชฏเชพเช–เซเชฏเชพเชฎเชพเช‚.
  • เชฆเซƒเชถเซเชฏเชฎเชพเช‚ เชธเช‚เชฆเชฐเซเชญเชฟเชค เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ-เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชพเชฐเซเชฏเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฌเชจเชพเชตเชตเซ‹ เช†เชตเชถเซเชฏเช• เช›เซ‡ WITH SCHEMABINDING เชตเชฟเช•เชฒเซเชช.
  • เชฆเซƒเชถเซเชฏเชฎเชพเช‚ เชธเช‚เชฆเชฐเซเชญเชฟเชค เช•เซ‹เชˆเชชเชฃ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ-เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชพเชฐเซเชฏเซ‹ เชฌเซ‡-เชญเชพเช—เชจเชพ เชจเชพเชฎเซ‹ เชฆเซเชตเชพเชฐเชพ เชธเช‚เชฆเชฐเซเชญเชฟเชค เชนเซ‹เชตเชพ เชœเซ‹เชˆเช, ..
  • เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฆเซเชตเชพเชฐเชพ เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เช•เชพเชฐเซเชฏเชจเซ€ เชกเซ‡เชŸเชพ เชเช•เซเชธเซ‡เชธ เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€ เชนเซ‹เชตเซ€ เช†เชตเชถเซเชฏเช• เช›เซ‡ NO SQL, เช…เชจเซ‡ เชฌเชพเชนเซเชฏ เชเช•เซเชธเซ‡เชธ เชฎเชฟเชฒเช•เชค เชนเซ‹เชตเซ€ เช†เชตเชถเซเชฏเช• เช›เซ‡ NO.
  • เช•เซ‹เชฎเชจ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เชฐเชจเชŸเชพเชˆเชฎ (CLR) เชซเช‚เช•เซเชถเชจเซเชธ เชตเซเชฏเซเชจเซ€ เชธเชฟเชฒเซ‡เช•เซเชŸ เชฒเชฟเชธเซเชŸเชฎเชพเช‚ เชฆเซ‡เช–เชพเชˆ เชถเช•เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เช•เซเชฒเชธเซเชŸเชฐเซเชก เชˆเชจเซเชกเซ‡เช•เซเชธ เช•เซ€เชจเซ€ เชตเซเชฏเชพเช–เซเชฏเชพเชจเซ‹ เชญเชพเช— เชจ เชนเซ‹เชˆ เชถเช•เซ‡. CLR เชซเช‚เช•เซเชถเชจเซเชธ เชตเซเชฏเซ‚เชจเชพ WHERE เช•เซเชฒเซ‹เช เช…เชฅเชตเชพ เชตเซเชฏเซ‚เชฎเชพเช‚ JOIN เช‘เชชเชฐเซ‡เชถเชจเชจเชพ ON เช•เซเชฒเซ‹เชเชฎเชพเช‚ เชฆเซ‡เช–เชพเชˆ เชถเช•เชคเชพ เชจเชฅเซ€.
  • เชตเซเชฏเซ เชกเซ‡เชซเชฟเชจเซ‡เชถเชจเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ CLR เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ-เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เชชเซเชฐเช•เชพเชฐเซ‹เชจเชพ CLR เชซเช‚เช•เซเชถเชจเซเชธ เช…เชจเซ‡ เชชเชฆเซเชงเชคเชฟเช“เชฎเชพเช‚ เชจเซ€เชšเซ‡เชจเชพ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชฌเชคเชพเชตเซเชฏเชพ เชชเซเชฐเชฎเชพเชฃเซ‡ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เชธเซ‡เชŸ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช.

    เชธเช‚เชชเชคเซเชคเชฟ
    เชจเซ‰เซ…เชง

    เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค = เชธเชพเชšเซเช‚
    Microsoft .NET เชซเซเชฐเซ‡เชฎเชตเชฐเซเช• เชชเชฆเซเชงเชคเชฟเชจเชพ เชฒเช•เซเชทเชฃ เชคเชฐเซ€เช•เซ‡ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชœเชพเชนเซ‡เชฐ เช•เชฐเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡.

    PRECISE = เชธเชพเชšเซเช‚
    .NET เชซเซเชฐเซ‡เชฎเชตเชฐเซเช• เชชเชฆเซเชงเชคเชฟเชจเชพ เชฒเช•เซเชทเชฃ เชคเชฐเซ€เช•เซ‡ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชœเชพเชนเซ‡เชฐ เช•เชฐเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡.

    เชกเซ‡เชŸเชพ เชเช•เซเชธเซ‡เชธ = เช•เซ‹เชˆ SQL เชจเชฅเซ€
    DataAccessKind.None เชชเชฐ DataAccess เชตเชฟเชถเซ‡เชทเชคเชพ เช…เชจเซ‡ SystemDataAccessKind.None เชชเชฐ SystemDataAccess เชตเชฟเชถเซ‡เชทเชคเชพ เชธเซ‡เชŸ เช•เชฐเซ€เชจเซ‡ เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค.

    เชฌเชพเชนเซเชฏ เชชเซเชฐเชตเซ‡เชถ = เชจเชพ
    เช† เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€ CLR เชฐเซ‚เชŸเชฟเชจ เชฎเชพเชŸเซ‡ NO เชชเชฐ เชกเชฟเชซเซ‹เชฒเซเชŸ เช›เซ‡.

  • เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฆเซƒเชถเซเชฏ เชฌเชจเชพเชตเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡ WITH SCHEMABINDING เชตเชฟเช•เชฒเซเชช.
  • เชตเซเชฏเซเช เชซเช•เซเชค เชฌเซ‡เช เช•เซ‹เชทเซเชŸเช•เซ‹เชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเชตเซ‹ เชœเซ‹เชˆเช เชœเซ‡ เชตเซเชฏเซ‚เชจเชพ เชธเชฎเชพเชจ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชนเซ‹เชฏ. เชฆเซƒเชถเซเชฏ เช…เชจเซเชฏ เชฆเซƒเชถเซเชฏเซ‹เชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€.
  • เชตเซเชฏเซ เชกเซ‡เชซเชฟเชจเซ‡เชถเชจเชฎเชพเช‚ SELECT เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸเชฎเชพเช‚ เชจเซ€เชšเซ‡เชจเชพ Transact-SQL เชคเชคเซเชตเซ‹ เชจ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช:

    COUNT
    ROWSET เช•เชพเชฐเซเชฏเซ‹ (OPENDATASOURCE, OPENQUERY, OPENROWSET, เช…เชจเซ‡ OPENXML)
    OUTER เชœเซ‹เชกเชพเชฏ เช›เซ‡ (LEFT, RIGHT, เช…เชฅเชตเชพ FULL)

    เชตเซเชฏเซเชคเซเชชเชจเซเชจ เช•เซ‹เชทเซเชŸเช• (เช เชธเซเชชเชทเซเชŸ เช•เชฐเซ€เชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค SELECT เชจเชฟเชตเซ‡เชฆเชจเชฎเชพเช‚ FROM เช•เชฒเชฎ)
    เชธเซเชตเชฏเช‚ เชœเซ‹เชกเชพเชฏ เช›เซ‡
    เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซ‰เชฒเชฎ เชธเซเชชเชทเซเชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช SELECT * or SELECT <table_name>.*

    DISTINCT
    STDEV, STDEVP, VAR, VARP, เช…เชฅเชตเชพ AVG
    เชธเชพเชฎเชพเชจเซเชฏ เช•เซ‹เชทเซเชŸเช• เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟ (CTE)

    เชซเซเชฒเซ‹เชŸ1, เชฒเช–เชพเชฃ, ntext, เช›เชฌเซ€, XML, เช…เชฅเชตเชพ เชซเชพเช‡เชฒเชธเซเชŸเซเชฐเซ€เชฎ เช•เซ‰เชฒเชฎ
    เชธเชฌเช•เซเชตเซ‡เชฐเซ€
    OVER เช•เชฒเชฎ, เชœเซ‡เชฎเชพเช‚ เชฐเซ‡เชจเซเช•เชฟเช‚เช— เช…เชฅเชตเชพ เชเช•เช‚เชฆเชฐ เชตเชฟเชจเซเชกเซ‹ เช•เชพเชฐเซเชฏเซ‹เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡

    เชธเช‚เชชเซ‚เชฐเซเชฃ เชฒเช–เชพเชฃ เช…เชจเซเชฎเชพเชจ (CONTAINS, FREETEXT)
    SUM เช•เชพเชฐเซเชฏ เช•เซ‡ เชœเซ‡ เชฐเชฆ เช•เชฐเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซ€ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเซ‡ เช›เซ‡
    ORDER BY

    CLR เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฆเซเชตเชพเชฐเชพ เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เชเช•เช‚เชฆเชฐ เช•เชพเชฐเซเชฏ
    TOP
    CUBE, ROLLUP, เช…เชฅเชตเชพ GROUPING SETS เช“เชชเชฐเซ‡เชŸเชฐเซ‹

    MIN, MAX
    UNION, EXCEPT, เช…เชฅเชตเชพ INTERSECT เช“เชชเชฐเซ‡เชŸเชฐเซ‹
    TABLESAMPLE

    เช•เซ‹เชทเซเชŸเช• เชšเชฒเซ‹
    OUTER APPLY or CROSS APPLY
    PIVOT, UNPIVOT

    เช›เซ‚เชŸเชพเช›เชตเชพเชฏเชพ เช•เซ‰เชฒเชฎ เชธเซ‡เชŸ
    เช‡เชจเชฒเชพเช‡เชจ (TVF) เช…เชฅเชตเชพ เชฎเชฒเซเชŸเซ€-เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸ เชŸเซ‡เชฌเชฒ-เชตเซ‡เชฒเซเชฏเซเชก เชซเช‚เช•เซเชถเชจเซเชธ (MSTVF)
    OFFSET

    CHECKSUM_AGG

    1 เช…เชจเซเช•เซเชฐเชฎเชฟเชค เชฆเซƒเชถเซเชฏ เชธเชฎเชพเชตเซ€ เชถเช•เซ‡ เช›เซ‡ เชซเซเชฒเซ‹เชŸ เช•เซ‰เชฒเชฎ; เชœเซ‹ เช•เซ‡, เช†เชตเซ€ เช•เซ‰เชฒเชฎ เช•เซเชฒเชธเซเชŸเชฐเซเชก เช‡เชจเซเชกเซ‡เช•เซเชธ เช•เซ€เชฎเชพเช‚ เชธเชฎเชพเชตเซ€ เชถเช•เชพเชคเซ€ เชจเชฅเซ€.

  • If GROUP BY เชนเชพเชœเชฐ เช›เซ‡, VIEW เชตเซเชฏเชพเช–เซเชฏเชพเชฎเชพเช‚ เชถเชพเชฎเซ‡เชฒ เชนเซ‹เชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡ COUNT_BIG(*) เช…เชจเซ‡ เชธเชฎเชพเชตเซ€ เชจ เชœเซ‹เชˆเช HAVING. เช† GROUP BY เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹ เชซเช•เซเชค เช…เชจเซเช•เซเชฐเชฎเชฟเชค เชฆเซƒเชถเซเชฏ เชตเซเชฏเชพเช–เซเชฏเชพ เชชเชฐ เชฒเชพเช—เซ เชฅเชพเชฏ เช›เซ‡. เช•เซเชตเซ‡เชฐเซ€ เชคเซ‡เชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชฏเซ‹เชœเชจเชพเชฎเชพเช‚ เช…เชจเซเช•เซเชฐเชฎเชฟเชค เชฆเซƒเชถเซเชฏเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชชเช›เซ€ เชญเชฒเซ‡ เชคเซ‡ เช†เชจเซ‡ เชธเช‚เชคเซ‹เชทเชคเซ€ เชจ เชนเซ‹เชฏ GROUP BY เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹
  • เชœเซ‹ เชตเซเชฏเซเชจเซ€ เชตเซเชฏเชพเช–เซเชฏเชพ เช เชธเชฎเชพเชตเซ‡ เช›เซ‡ GROUP BY เช•เชฒเชฎ, เช…เชจเชจเซเชฏ เช•เซเชฒเชธเซเชŸเชฐเซเชก เช‡เชจเซเชกเซ‡เช•เซเชธเชจเซ€ เช•เซ€ เชซเช•เซเชค เชฎเชพเช‚ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เช•เซ‰เชฒเชฎเชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเซ€ เชถเช•เซ‡ เช›เซ‡ GROUP BY เช•เชฒเชฎ

เช…เชนเซ€เช‚ เชคเซ‡ เชธเซเชชเชทเซเชŸ เช›เซ‡ เช•เซ‡ เชญเชพเชฐเชคเซ€เชฏเซ‹ เชคเซ‡เชฎเชพเช‚ เชธเชพเชฎเซ‡เชฒ เชจ เชนเชคเชพ, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เช“เช "เช…เชฎเซ‡ เชฅเซ‹เชกเซเช‚ เช•เชฐเซ€เชถเซเช‚, เชชเชฐเช‚เชคเซ เชธเชพเชฐเซเช‚ เช•เชฐเซ€เชถเซเช‚" เชฏเซ‹เชœเชจเชพ เช…เชจเซเชธเชพเชฐ เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เช›เซ‡. เชเชŸเชฒเซ‡ เช•เซ‡, เชคเซ‡เชฎเชจเซ€ เชชเชพเชธเซ‡ เชฎเซ‡เชฆเชพเชจเชฎเชพเช‚ เชตเชงเซ เช–เชพเชฃเซ‹ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡เชฎเชจเซเช‚ เชธเซเชฅเชพเชจ เชตเชงเซ เชชเชพเชฐเชฆเชฐเซเชถเช• เช›เซ‡. เชธเซŒเชฅเซ€ เชจเชฟเชฐเชพเชถเชพเชœเชจเช• เชฌเชพเชฌเชค เช† เชฎเชฐเซเชฏเชพเชฆเชพ เช›เซ‡:

เชตเซเชฏเซเช เชซเช•เซเชค เชฌเซ‡เช เช•เซ‹เชทเซเชŸเช•เซ‹เชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเชตเซ‹ เชœเซ‹เชˆเช เชœเซ‡ เชตเซเชฏเซ‚เชจเชพ เชธเชฎเชพเชจ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชนเซ‹เชฏ. เชฆเซƒเชถเซเชฏ เช…เชจเซเชฏ เชฆเซƒเชถเซเชฏเซ‹เชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€.

เช…เชฎเชพเชฐเซ€ เชชเชฐเชฟเชญเชพเชทเชพเชฎเชพเช‚, เช†เชจเซ‹ เช…เชฐเซเชฅ เช เชฅเชพเชฏ เช›เซ‡ เช•เซ‡ เชซเช‚เช•เซเชถเชจ เช…เชจเซเชฏ เชญเซŒเชคเชฟเช• เช•เชพเชฐเซเชฏเชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€. เช† เช•เชณเซ€เชฎเชพเช‚เชจเซ€ เชคเชฎเชพเชฎ เชตเชฟเชšเชพเชฐเชงเชพเชฐเชพเชจเซ‡ เช•เชพเชชเซ€ เชจเชพเช–เซ‡ เช›เซ‡.
เช‰เชชเชฐเชพเช‚เชค, เช† เชฎเชฐเซเชฏเชพเชฆเชพ (เช…เชจเซ‡ เช†เช—เชณ เชฒเช–เชพเชฃเชฎเชพเช‚) เช‰เชชเชฏเซ‹เช—เชจเชพ เช•เซ‡เชธเซ‹เชจเซ‡ เชฎเซ‹เชŸเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เช˜เชŸเชพเชกเซ‡ เช›เซ‡:

เชตเซเชฏเซ เชกเซ‡เชซเชฟเชจเซ‡เชถเชจเชฎเชพเช‚ SELECT เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸเชฎเชพเช‚ เชจเซ€เชšเซ‡เชจเชพ Transact-SQL เชคเชคเซเชตเซ‹ เชจ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช:

COUNT
ROWSET เช•เชพเชฐเซเชฏเซ‹ (OPENDATASOURCE, OPENQUERY, OPENROWSET, เช…เชจเซ‡ OPENXML)
OUTER เชœเซ‹เชกเชพเชฏ เช›เซ‡ (LEFT, RIGHT, เช…เชฅเชตเชพ FULL)

เชตเซเชฏเซเชคเซเชชเชจเซเชจ เช•เซ‹เชทเซเชŸเช• (เช เชธเซเชชเชทเซเชŸ เช•เชฐเซ€เชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค SELECT เชจเชฟเชตเซ‡เชฆเชจเชฎเชพเช‚ FROM เช•เชฒเชฎ)
เชธเซเชตเชฏเช‚ เชœเซ‹เชกเชพเชฏ เช›เซ‡
เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซ‰เชฒเชฎ เชธเซเชชเชทเซเชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช SELECT * or SELECT <table_name>.*

DISTINCT
STDEV, STDEVP, VAR, VARP, เช…เชฅเชตเชพ AVG
เชธเชพเชฎเชพเชจเซเชฏ เช•เซ‹เชทเซเชŸเช• เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟ (CTE)

เชซเซเชฒเซ‹เชŸ1, เชฒเช–เชพเชฃ, ntext, เช›เชฌเซ€, XML, เช…เชฅเชตเชพ เชซเชพเช‡เชฒเชธเซเชŸเซเชฐเซ€เชฎ เช•เซ‰เชฒเชฎ
เชธเชฌเช•เซเชตเซ‡เชฐเซ€
OVER เช•เชฒเชฎ, เชœเซ‡เชฎเชพเช‚ เชฐเซ‡เชจเซเช•เชฟเช‚เช— เช…เชฅเชตเชพ เชเช•เช‚เชฆเชฐ เชตเชฟเชจเซเชกเซ‹ เช•เชพเชฐเซเชฏเซ‹เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡

เชธเช‚เชชเซ‚เชฐเซเชฃ เชฒเช–เชพเชฃ เช…เชจเซเชฎเชพเชจ (CONTAINS, FREETEXT)
SUM เช•เชพเชฐเซเชฏ เช•เซ‡ เชœเซ‡ เชฐเชฆ เช•เชฐเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซ€ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเซ‡ เช›เซ‡
ORDER BY

CLR เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฆเซเชตเชพเชฐเชพ เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เชเช•เช‚เชฆเชฐ เช•เชพเชฐเซเชฏ
TOP
CUBE, ROLLUP, เช…เชฅเชตเชพ GROUPING SETS เช“เชชเชฐเซ‡เชŸเชฐเซ‹

MIN, MAX
UNION, EXCEPT, เช…เชฅเชตเชพ INTERSECT เช“เชชเชฐเซ‡เชŸเชฐเซ‹
TABLESAMPLE

เช•เซ‹เชทเซเชŸเช• เชšเชฒเซ‹
OUTER APPLY or CROSS APPLY
PIVOT, UNPIVOT

เช›เซ‚เชŸเชพเช›เชตเชพเชฏเชพ เช•เซ‰เชฒเชฎ เชธเซ‡เชŸ
เช‡เชจเชฒเชพเช‡เชจ (TVF) เช…เชฅเชตเชพ เชฎเชฒเซเชŸเซ€-เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸ เชŸเซ‡เชฌเชฒ-เชตเซ‡เชฒเซเชฏเซเชก เชซเช‚เช•เซเชถเชจเซเชธ (MSTVF)
OFFSET

CHECKSUM_AGG

เช†เช‰เชŸเชฐ เชœเซ‹เช‡เชจ, เชฏเซเชจเชฟเชฏเชจ, เช“เชฐเซเชกเชฐ เชฌเชพเชฏ เช…เชจเซ‡ เช…เชจเซเชฏ เชชเซเชฐเชคเชฟเชฌเช‚เชงเชฟเชค เช›เซ‡. เชถเซเช‚ เชตเชพเชชเชฐเซ€ เชถเช•เชพเชคเซเช‚ เชจเชฅเซ€ เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡ เชถเซเช‚ เชตเชพเชชเชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชคเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเชตเซเช‚ เชธเชฐเชณ เชนเชคเซเช‚. เชธเซ‚เชšเชฟ เช•เชฆเชพเชš เช˜เชฃเซ€ เชจเชพเชจเซ€ เชนเชถเซ‡.

เชธเชพเชฐเชพเช‚เชถ เชฎเชพเชŸเซ‡: LGPL เชŸเซ‡เช•เซเชจเซ‹เชฒเซ‹เชœเซ€เชฎเชพเช‚ DBMS เชตเชฟ เช•เซ‹เชˆ เชจเชนเซ€เช‚ (เชเช• เชคเชพเชฐเซเช•เชฟเช• เช…เชชเชตเชพเชฆ เชธเชพเชฅเซ‡, เชŸเซ‡เช•เชจเชฟเช•เชฒ เชจเชนเซ€เช‚) เชชเซเชฐเชคเซเชฏเซ‡เช• (เชšเชพเชฒเซ‹ เช•เซ‹เชฎเชฐเซเชถเชฟเชฏเชฒ เชจเซ‹เช‚เชง เช•เชฐเซ€เช) เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹เชจเซ‹ เชตเชฟเชถเชพเชณ เชธเชฎเซ‚เชน. เชœเซ‹ เช•เซ‡, เช เชจเซ‹เช‚เชงเชตเซเช‚ เชœเซ‹เช‡เช เช•เซ‡ เชตเชฐเซเชฃเชตเซ‡เชฒ เช•เชพเชฐเซเชฏเชพเชคเซเชฎเช• เชคเชฐเซเช• เช•เชฐเชคเชพเช‚ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชฒเซ‹เชœเชฟเช•เชฎเชพเช‚ เช† เชฎเชฟเช•เซ‡เชจเชฟเชเชฎเชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเซเช‚ เช•เช‚เชˆเช• เชตเชงเซ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡.

ะ ะตะฐะปะธะทะฐั†ะธั

เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡? PostgreSQL เชจเซ‹ เช‰เชชเชฏเซ‹เช— "เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจ" เชคเชฐเซ€เช•เซ‡ เชฅเชพเชฏ เช›เซ‡. เช…เช‚เชฆเชฐ เชเช• เชœเชŸเชฟเชฒ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เช›เซ‡ เชœเซ‡ เชชเซเชฐเชถเซเชจเซ‹ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เช…เชนเซ€เช‚ เชธเซเชคเซเชฐเซ‹เชค. เช…เชจเซ‡ เช†เชˆเชเชซเชเชธเชจเชพ เชธเชฎเซ‚เชน เชธเชพเชฅเซ‡ เชนเซเชฏเซเชฐเชฟเชธเซเชŸเชฟเช•เซเชธเชจเซ‹ เชฎเชพเชคเซเชฐ เชเช• เชฎเซ‹เชŸเซ‹ เชธเชฎเซ‚เชน เชจเชฅเซ€. เชคเซ‡เชฅเซ€, เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช…เชญเซเชฏเชพเชธ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเซ‹เชกเชพ เชฎเชนเชฟเชจเชพ เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเซ‡ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเชจเซ‡ เชธเชฎเชœเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชถเซเช‚ เชคเซ‡ เช…เชธเชฐเช•เชพเชฐเช• เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡? เชคเชฆเซเชฆเชจ เช…เชธเชฐเช•เชพเชฐเช•. เช•เชฎเชจเชธเซ€เชฌเซ‡, เช† เชธเชพเชฌเชฟเชค เช•เชฐเชตเซเช‚ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡. เชนเซเช‚ เชฎเชพเชคเซเชฐ เชเชŸเชฒเซเช‚ เชœ เช•เชนเซ€ เชถเช•เซเช‚ เช›เซเช‚ เช•เซ‡ เชœเซ‹ เชคเชฎเซ‡ เชฎเซ‹เชŸเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธเชฎเชพเช‚ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชฐเชนเซ‡เชฒเซ€ เชนเชœเชพเชฐเซ‹ เช•เซเชตเซ‡เชฐเซ€เชเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‹, เชคเซ‹ เชธเชฐเซ‡เชฐเชพเชถ เชคเซ‡ เชธเชพเชฐเชพ เชกเซ‡เชตเชฒเชชเชฐ เช•เชฐเชคเชพเช‚ เชตเชงเซ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เช›เซ‡. เชเช• เช‰เชคเซเชคเชฎ เชเชธเช•เซเชฏเซเชเชฒ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐ เช•เซ‹เชˆเชชเชฃ เช•เซเชตเซ‡เชฐเซ€ เชตเชงเซ เช…เชธเชฐเช•เชพเชฐเช• เชฐเซ€เชคเซ‡ เชฒเช–เซ€ เชถเช•เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชนเชœเชพเชฐ เช•เซเชตเซ‡เชฐเซ€เช เชธเชพเชฅเซ‡ เชคเซ‡เชจเซ€ เชชเชพเชธเซ‡ เชคเซ‡ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเซ‡เชฐเชฃเชพ เช…เชฅเชตเชพ เชธเชฎเชฏ เชจเชฅเซ€ เชนเซ‹เชคเซ‹. เช…เชธเชฐเช•เชพเชฐเช•เชคเชพเชจเชพ เชชเซเชฐเชพเชตเชพ เชคเชฐเซ€เช•เซ‡ เชนเซเช‚ เชนเชตเซ‡ เชฎเชพเชคเซเชฐ เชเช• เชœ เชตเชธเซเชคเซ เชŸเชพเช‚เช•เซ€ เชถเช•เซเช‚ เช›เซเช‚ เช•เซ‡ เช† DBMS เชชเชฐ เชฌเชจเซ‡เชฒเชพ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชชเชฐ เช˜เชฃเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เช•เชพเชฎ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡. ERP เชธเชฟเชธเซเชŸเชฎเซเชธ, เชœเซ‡เชฎเชพเช‚ เชนเชœเชพเชฐเซ‹ เชฏเซเชเชฐเซเชธ เช…เชจเซ‡ เชŸเซ‡เชฐเชพเชฌเชพเชˆเชŸ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เชธเชพเชฅเซ‡ เชนเชœเชพเชฐเซ‹ เช…เชฒเช—-เช…เชฒเช— เชฎเชŸเซ€เชฐเชฟเชฏเชฒเชพเชˆเชเซเชก เชซเช‚เช•เซเชถเชจเซเชธ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชธเซ‡เช‚เช•เชกเซ‹ เชฎเชฟเชฒเชฟเชฏเชจ เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธ เชจเชฟเชฏเชฎเชฟเชค เชฌเซ‡-เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เชธเชฐเซเชตเชฐ เชชเชฐ เชšเชพเชฒเซ‡ เช›เซ‡. เชœเซ‹ เช•เซ‡, เช•เซ‹เชˆเชชเชฃ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ€เชจเซ‡ เช…เชธเชฐเช•เชพเชฐเช•เชคเชพ เชคเชชเชพเชธเซ€/เชจเช•เชพเชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เช…เชจเซ‡ PostgreSQL, เชšเชพเชฒเซ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช เชเชธเช•เซเชฏเซเชเชฒ เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‹เช—เซ€เช‚เช— เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เชคเชฐเซเช• เช…เชจเซ‡ เชกเซ‡เชŸเชพ เชฌเชฆเชฒเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช.

เชจเซ€เชšเซ‡เชจเชพ เชฒเซ‡เช–เซ‹เชฎเชพเช‚, เชนเซเช‚ เชคเซ‡ เชตเชฟเชถเซ‡ เชชเชฃ เชตเชพเชค เช•เชฐเซ€เชถ เช•เซ‡ เชคเชฎเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏเซ‹ เชชเชฐ เชจเชฟเชฏเช‚เชคเซเชฐเชฃเซ‹ เชธเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชชเชฐเชฟเชตเชฐเซเชคเชจ เชธเชคเซเชฐเซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เช˜เชฃเซเช‚ เชฌเชงเซเช‚.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹