เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เบ‚เบฝเบ™เปเบฅเบฐเบญเปˆเบฒเบ™เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™

เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เบ‚เบฝเบ™เปเบฅเบฐเบญเปˆเบฒเบ™เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™
เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰ เบšเบปเบ”เบ„เบงเบฒเบก เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบญเบฐเบ—เบดเบšเบฒเบเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบšเบปเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆ, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบฅเบฐเบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡. เบกเบฑเบ™เป„เบ”เป‰เปƒเบซเป‰เบ•เบปเบงเบขเปˆเบฒเบ‡เบซเบผเบฒเบเบขเปˆเบฒเบ‡เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเป„เบ”เป‰เบ›เบฝเบšเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เบซเบผเบฒเบเบเบงเปˆเบฒเปเบšเบšเบ„เบฅเบฒเบชเบชเบดเบ. เบซเบผเบฒเบเบ„เบปเบ™เบžเบปเบšเบงเปˆเบฒเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบšเปเปˆเปœเป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเบžเบฝเบ‡เบžเป.

เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰, เบ‚เป‰เบญเบเบˆเบฐเบชเบฐเปเบ”เบ‡เบงเบดเบ—เบตเบเบฒเบ™เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ™เบตเป‰เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เบ‚เบฝเบ™เปเบฅเบฐเบญเปˆเบฒเบ™เบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป„เบ”เป‰เป„เบงเปเบฅเบฐเบชเบฐเบ”เบงเบเบชเบฐเบšเบฒเบเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ”เป†เปƒเบ™เป€เบซเบ”เบœเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™. เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบžเบฐเบเบฒเบเบฒเบกเบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ DBMSs เบเบฒเบ™เบ„เป‰เบฒเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบก (เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, Oracle เปเบฅเบฐ Microsoft SQL Server). เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบกเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เป€เบฎเบฑเบ”, เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบญเปˆเบญเบ™เป‚เบเบ™, เบšเปเปˆเป„เบ”เป‰เบœเบปเบ™เบ”เบตเบซเบผเบฒเบ.

เบฅเบฒเบโ€‹เบฅเบฐโ€‹เบญเบฝเบ”

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ—เบตเปˆเบ”เบตเบเบงเปˆเบฒเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบ”เป‰เบงเบเบ•เบปเบงเบขเปˆเบฒเบ‡. เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบˆเบฐเบชเบปเปˆเบ‡เบ„เบทเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบžเบฐเปเบ™เบเบ—เบตเปˆเบกเบตเบˆเปเบฒเบ™เบงเบ™เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เปƒเบ™เบžเบงเบเป€เบ‚เบปเบฒเปเบฅเบฐเป€เบ‡เบดเบ™เป€เบ”เบทเบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ.

เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”, เบกเบฑเบ™เบˆเบฐเบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเบ™เบตเป‰:

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(เบˆเปเบฒเบ™เบงเบ™เบžเบฐเปเบ™เบ) เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบเบธเปˆเบกเปเบฅเบฐเบญเบทเปˆเบ™เป†.

เบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบฒเป€เบ—เบดเบ‡เบญเบฒเบ”เบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เปƒเบ™ DBMSs เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เปเบ•เปˆเบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เบˆเบฐเบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบ—เบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก.

เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบชเบฐเป€เบซเบ™เบต, DBMS เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบˆเบฐเบชเป‰เบฒเบ‡เบซเบ™เบถเปˆเบ‡ subquery เบ—เบตเปˆเบˆเบฐเบ„เบดเบ”เป„เบฅเปˆเบ„เปˆเบฒเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบžเบฐเปเบ™เบ, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบฎเบฑเบ”เปƒเบซเป‰ JOIN เบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบžเบฐเปเบ™เบเป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบฎเบฑเบšเบŠเบทเปˆ. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบซเบ™เป‰เบฒเบ—เบตเปˆ, เป€เบกเบทเปˆเบญเบ›เบฐเบเบฒเบ”, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบเปเบฒเบ™เบปเบ”เป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบ MATERIALIZED เบžเบดเป€เบชเบ”. เบฅเบฐเบšเบปเบšเบˆเบฐเบชเป‰เบฒเบ‡เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง. เป€เบกเบทเปˆเบญเบ›เปˆเบฝเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™เปƒเบ”เปœเบถเปˆเบ‡, เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบˆเบฐเบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบ—เบธเบฅเบฐเบเปเบฒเบ”เบฝเบงเบเบฑเบ™. เป€เบกเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™เบ™เบตเป‰, เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบ—เบตเปˆเบ„เบดเบ”เป„เบฅเปˆเบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒเบˆเบฐเบ–เบทเบเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡.

เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เบฑเป‰เบ‡ MATERIALIZED เบชเปเบฒเบฅเบฑเบšเบซเบ™เป‰เบฒเบ—เบตเปˆ เบ™เบฑเบšเบžเบฐเบ™เบฑเบเบ‡เบฒเบ™ ะธ เป€เบ‡เบดเบ™เป€เบ”เบทเบญเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบชเบญเบ‡เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบˆเบฐเบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบžเบฐเปเบ™เบ, เป€เบŠเบดเปˆเบ‡เบˆเบฐเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบˆเปเบฒเบ™เบงเบ™เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เปเบฅเบฐเป€เบ‡เบดเบ™เป€เบ”เบทเบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เป€เบกเบทเปˆเบญเปƒเบ”เบเปเปˆเบ•เบฒเบกเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™, เป€เบ‡เบดเบ™เป€เบ”เบทเบญเบ™เบซเบผเบทเบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบเบฑเบšเบžเบฐเปเบ™เบ, เบฅเบฐเบšเบปเบšเบˆเบฐเบ›เปˆเบฝเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบชเบฒเบ‚เบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”. เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบˆเบฐเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป‚เบ”เบเบเบปเบ‡เปเบฅเบฐเบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ O(เบˆเปเบฒเบ™เบงเบ™เบžเบฐเปเบ™เบ).

เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เปเบกเปˆเบ™เบซเบเบฑเบ‡? เบชเบดเปˆเบ‡เบ”เบฝเบงเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™: เบŸเบฑเบ‡เบŠเบฑเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ•เป‰เบญเบ‡เบกเบตเบˆเปเบฒเบ™เบงเบ™เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡เบ„เปˆเบฒ input เบ—เบตเปˆเบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบกเบฑเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”. เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเป€เบเบฑเบšเบ„เปˆเบฒเบ‚เบญเบ‡เบกเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เป€เบžเบฒเบฐเบงเปˆเบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เบกเบตเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบˆเปเบฒเบ™เบงเบ™เปเบ–เบงเบ—เบตเปˆเบšเปเปˆเบกเบตเบ‚เบญเบšเป€เบ‚เบ”.

เบ•เบปเบงเบขเปˆเบฒเบ‡:

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

เบŸเบฑเบ‡เบŠเบฑเบ™เบ™เบตเป‰เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบชเปเบฒเบฅเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡เบ„เปˆเบฒเบ‚เบญเบ‡ N (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ„เปˆเบฒเบฅเบปเบšเปƒเบ”เป†เปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบก). เป€เบžเบฒเบฐเบชเบฐเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบญเบปเบฒ MATERIALIZED เปƒเบชเปˆเบกเบฑเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ—เบตเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™, เบšเปเปˆเปเบกเปˆเบ™เบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™ (เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบšเปเปˆเปเบกเปˆเบ™เบเป‰เบญเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบกเบฑเบ™เป„เบ”เป‰). เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบšเปเปˆเบกเบตเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”. เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบเบฒเบ™โ€‹เบˆเบฑเบ”โ€‹เบเบธเปˆเบกโ€‹, เบเบฒเบ™โ€‹เบˆเบฑเบ”โ€‹เบฅเบฝเบ‡โ€‹, 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;

เบฅเบฐเบšเบปเบšเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบˆเบฐเบชเป‰เบฒเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบกเบตเบ›เบธเปˆเบกเบ›เบฐเป€เบžเบ” เบฅเบนเบเบ„เป‰เบฒ, เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบ•เบฐโ€‹เบžเบฑเบ™ ะธ เบšเปเบฅเบดเบชเบฑเบ” INTEGER, เบˆเบฐเป€เบžเบตเปˆเบกเบชเบญเบ‡เบŠเปˆเบญเบ‡เปƒเบชเปˆเบกเบฑเบ™เปเบฅเบฐเบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เบ„เปˆเบฒเบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเปƒเบ™เบžเบงเบเบกเบฑเบ™เบ”เป‰เบงเบเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ”เป†. เป€เบกเบทเปˆเบญเป‚เบ—เบซเบฒเบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เบžเบงเบเบกเบฑเบ™เบˆเบฐเบšเปเปˆเบ–เบทเบเบ„เบดเบ”เป„เบฅเปˆ, เปเบ•เปˆเบ„เปˆเบฒเบˆเบฐเบ–เบทเบเบญเปˆเบฒเบ™เบˆเบฒเบเบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™.

เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบปเบ™เป„เบเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบเปเบฒเบˆเบฑเบ” recursions (CTE) เปƒเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบก. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบเบธเปˆเบกเบ—เบตเปˆเบชเป‰เบฒเบ‡เป€เบ›เบฑเบ™เป„เบกเป‰เบขเบทเบ™เบ•เบปเป‰เบ™เป‚เบ”เบเบ™เปเบฒเปƒเบŠเป‰เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบ‚เบญเบ‡เป€เบ”เบฑเบเบ™เป‰เบญเบ / เบžเปเปˆเปเบกเปˆ (เปเบ•เปˆเบฅเบฐเบเบธเปˆเบกเบกเบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบžเปเปˆเปเบกเปˆเบ‚เบญเบ‡เบ•เบปเบ™):

parent = DATA Group (Group);

เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”, เป€เบซเบ”เบœเบปเบ™ recursion เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

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;

เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบซเบ™เป‰เบฒเบ—เบตเปˆ เปเบกเปˆเบ™เบžเปเปˆเปเบกเปˆ เบ–เบทเบเปเบฒเบเบงเปˆเบฒ MATERIALIZED, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบชเบญเบ‡เบเบฐเปเบˆ (เบเบธเปˆเบก) เบˆเบฐเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™, เป€เบŠเบดเปˆเบ‡เปƒเบ™เบžเบฒเบเบชเบฐเบซเบ™เบฒเบก. เปเบกเปˆเบ™เบžเปเปˆเปเบกเปˆ เบˆเบฐเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡เบžเบฝเบ‡เปเบ•เปˆเบ–เป‰เบฒเบฅเบฐเบซเบฑเบ”เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบฅเบนเบเบ‚เบญเบ‡เบ—เบตเบชเบญเบ‡. เบˆเปเบฒเบ™เบงเบ™เบฅเบฒเบเบเบฒเบ™เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ™เบตเป‰เบˆเบฐเป€เบ—เบปเปˆเบฒเบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบเบธเปˆเบกเบ—เบตเปˆเบ„เบนเบ™เบเบฑเบšเบ„เบงเบฒเบกเป€เบฅเบดเบเบชเบฐเป€เบฅเปˆเบเบ‚เบญเบ‡เบ•เบปเป‰เบ™เป„เบกเป‰. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™, เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบ™เบฑเบšเบˆเปเบฒเบ™เบงเบ™เบฅเบนเบเบซเบฅเบฒเบ™เบ‚เบญเบ‡เบเบธเปˆเบกเบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบซเบ™เป‰เบฒเบ—เบตเปˆเบ™เบตเป‰:

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

เบˆเบฐเบšเปเปˆเบกเบต CTE เปƒเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบก SQL. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบกเบต GROUP BY เปเบšเบšเบ‡เปˆเบฒเบเบ”เบฒเบ.

เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบปเบ™เป„เบเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ” denormalize เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป„เบ”เป‰เบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบเบ–เป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™:

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

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

เป€เบกเบทเปˆเบญเป€เบญเบตเป‰เบ™เบŸเบฑเบ‡เบŠเบฑเบ™ เบงเบฑเบ™ เบชเปเบฒเบฅเบฑเบšเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡, เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบ—เบตเปˆเบกเบตเบ”เบฑเบ”เบชเบฐเบ™เบตเบˆเบฐเบ–เบทเบเบญเปˆเบฒเบ™เบˆเบฒเบเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡. เป€เบกเบทเปˆเบญเบงเบฑเบ™เบ—เบตเบ„เปเบฒเบชเบฑเปˆเบ‡เบ›เปˆเบฝเบ™เปเบ›เบ‡, เบฅเบฐเบšเบปเบšเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบˆเบฐเบ„เบดเบ”เป„เบฅเปˆเบงเบฑเบ™เบ—เบตเบ—เบตเปˆเบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบดเปƒเบ™เปเบ–เบงเป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.

เบœเบปเบ™โ€‹เบ›เบฐโ€‹เป‚เบซเบเบ”

เบเบปเบ™เป„เบเบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบซเบเบฑเบ‡? เปƒเบ™ DBMSs เปเบšเบšเบ„เบฅเบฒเบชเบชเบดเบ, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ‚เบฝเบ™เบ„เปเบฒเบ–เบฒเบกเปƒเบซเบกเปˆ, เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบซเบผเบท DBA เบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เบ”เบฑเบ”เบชเบฐเบ™เบต, เบเปเบฒเบ™เบปเบ”เบชเบฐเบ–เบดเบ•เบดเปเบฅเบฐเบšเบญเบเบœเบนเป‰เบงเบฒเบ‡เปเบœเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบงเบดเบ—เบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบงเบเบกเบฑเบ™ (เปเบฅเบฐเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเปเบกเปˆเบ™เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบขเบนเปˆเปƒเบ™ DBMSs เบเบฒเบ™เบ„เป‰เบฒ). เบšเปเปˆเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบžเบฐเบเบฒเบเบฒเบกเบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบžเบงเบเป€เบ‚เบปเบฒเบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบชเปเบฒเป€เบฅเบฑเบ”เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เปเบฒเบญเบดเบ”เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเปƒเบ™ O (เบˆเปเบฒเบ™เบงเบ™เบžเบฐเปเบ™เบ) เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เบ„เปเบฒเบ–เบฒเบกเบซเบผเบทเป€เบžเบตเปˆเบก triggers. เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบชเบฐเป€เบซเบ™เบต, เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบ—เปˆเบฒเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ„เบดเบ”เบเปˆเบฝเบงเบเบฑเบšเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰. เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เบ‡เปˆเบฒเบเปƒเบ™เบเบฒเบ™เบšเบดเบ™, เป‚เบ”เบเบเบปเบ‡เปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™.

เปƒเบ™เบ—เบฒเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ™เบตเป‰. เบšเบฒเบ‡เบ„เบปเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบซเบ”เบœเบปเบ™เป‚เบ”เบเบเบปเบ‡เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบกเบท. เบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเป€เบ‚เบปเป‰เบฒเปƒเบˆ algorithms เปเบฅเบฐเบ„เบงเบฒเบกเบŠเบฑเบšเบŠเป‰เบญเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ, เบซเบผเบทเปเบœเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบซเบผเบทเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก, เบซเบผเบทเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™เบญเบทเปˆเบ™เป†. เบ„เบปเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ™เบฑเบเบงเบดเป€เบ„เบฒเบฐเบ—เบธเบฅเบฐเบเบดเบ”เบซเบผเบฒเบเบเปˆเบงเบฒเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบซเบผเบทเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™. เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเบเบฒเบงเบ™เบฒเบ™. เป€เบกเบทเปˆเบญเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเบเบฒเบงเบ™เบฒเบ™เบ–เบทเบเบเบงเบ”เบžเบปเบš, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ„เบปเบ™เบญเบทเปˆเบ™ (เบ—เบฒเบ‡เบงเบดเบŠเบฒเบเบฒเบ™เบซเบผเบฒเบ - เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™ DBA) เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเป€เบ›เบตเบ”เปƒเบŠเป‰ MATERIALIZED เปƒเบ™เบšเบฒเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเบฅเบฐเบ”เบฑเบšเบเบฒเบ‡. เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบŠเป‰เบฒเบฅเบปเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบ (เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบฑเบ™เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปƒเบ™เบ—เบธเบฅเบฐเบเปเบฒ). เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเป€เบฅเบฑเปˆเบ‡เบขเปˆเบฒเบ‡เป„เบงเบงเบฒ, เปเบ•เปˆเบเบฑเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบญเบทเปˆเบ™เป†เบ—เบตเปˆเปƒเบŠเป‰เบŸเบฑเบ‡เบŠเบฑเบ™เบ™เบตเป‰. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบ. เบชเบญเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ•เบปเป‰เบ™เบ•เป: เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰ (เบ™เบตเป‰เปเบกเปˆเบ™เบˆเปเบฒเบ™เบงเบ™เบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆเบˆเบฐเบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™), เปเบฅเบฐเบกเบฑเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบฅเบทเป‰เบญเบเป†เปƒเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆเบญเบทเปˆเบ™เป†.

Analogs

DBMSs เบเบฒเบ™เบ„เป‰เบฒเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบกเบตเบเบปเบ™เป„เบเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™: MATERIALIZED VIEW เบเบฑเบš FAST REFRESH (Oracle) เปเบฅเบฐ INDEXED VIEW (Microsoft SQL Server). เปƒเบ™ PostgreSQL, MATERIALIZED VIEW เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เบฑเบšเบ›เบธเบ‡เปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ, เปเบ•เปˆเบงเปˆเบฒเบžเบฝเบ‡เปเบ•เปˆเบ•เบฒเบกเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป (เปเบฅเบฐเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบกเบตเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ—เบตเปˆเป€เบ„เบฑเปˆเบ‡เบ„เบฑเบ”เบซเบผเบฒเบ), เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบกเบฑเบ™. เปเบ•เปˆเบžเบงเบเป€เบ‚เบปเบฒเบกเบตเบšเบฑเบ™เบซเบฒเบซเบผเบฒเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเบˆเปเบฒเบเบฑเบ”เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ.

เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ”, เบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เป€เบ›เบตเบ”เปƒเบŠเป‰เบงเบฑเบ”เบชเบฐเบ”เบธเบเปเปˆเบชเป‰เบฒเบ‡เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป„เบ”เป‰เบชเป‰เบฒเบ‡เบงเบดเบงเปเบšเบšเบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบง. เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบ‚เบฝเบ™เบ„เบทเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบกเบธเบกเป€เบšเบดเปˆเบ‡เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบชเป‰เบฒเบ‡เป€เบญเบเบฐเบชเบฒเบ™เบ™เบตเป‰. เบซเบผเบทเบ›เบฐเบ–เบดเป‰เบกเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ•เบฒเบกเบ—เบตเปˆเบกเบฑเบ™เป€เบ›เบฑเบ™, เปเบ•เปˆเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบกเบฑเบ™เบˆเบฐเบšเปเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ•เบดเบœเบปเบ™เบ–เป‰เบฒเบกเบตเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบเปˆเบญเบ™เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ, เปเบ•เปˆเบงเปˆเบฒเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เบกเบฑเบ™เป€เบฅเบทเป‰เบญเบเป†, เปเบ•เปˆเบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ„เบทเบ™เปƒเบซเบกเปˆ.

เบญเบฑเบ™เบ—เบตเบชเบญเบ‡, เบžเบงเบเป€เบ‚เบปเบฒเบกเบตเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ:

Oracle

5.3.8.4 เบ‚เปเป‰เบˆเบณเบเบฑเบ”เบ—เบปเปˆเบงเป„เบ›เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป‚เบซเบผเบ”เบ‚เปเป‰เบกเบนเบ™เป„เบง

เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ‚เบญเบ‡เบกเบธเบกเป€เบšเบดเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเป„เบ”เป‰เบ–เบทเบเบˆเปเบฒเบเบฑเบ”เบ”เบฑเปˆเบ‡เบ™เบตเป‰:

  • เบกเบธเบกเบกเบญเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเบˆเบฐเบ•เป‰เบญเบ‡เบšเปเปˆเบกเบตเบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡เป€เบ–เบดเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ—เบตเปˆเบšเปเปˆเบŠเปเป‰เบฒเบเบฑเบ™เป€เบŠเบฑเปˆเบ™ SYSDATE เปเบฅเบฐ ROWNUM.
  • เบกเบธเบกเบกเบญเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเบˆเบฐเบ•เป‰เบญเบ‡เบšเปเปˆเบกเบตเบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡เป€เบ–เบดเบ‡ RAW or LONG RAW เบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™.
  • เบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบˆเบธ a SELECT เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบเปˆเบญเบ.
  • เบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐ (เบ•เบปเบงเบขเปˆเบฒเบ‡, RANK) เปƒเบ™ SELECT เบญเบฒเบ™เบธเบ›เบฐเป‚เบซเบเบ”.
  • เบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบญเป‰เบฒเบ‡เบญเบตเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆ XMLIndex เบ”เบฑเบ”เบŠเบฐเบ™เบตเปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”.
  • เบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบˆเบธ a MODEL เบญเบฒเบ™เบธเบ›เบฐเป‚เบซเบเบ”.
  • เบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบˆเบธ a HAVING clause เบเบฑเบš subquery เป€เบ›เบฑเบ™.
  • เบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบกเบตเปเบšเบšเบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเบŠเป‰เบญเบ™เบเบฑเบ™เบ—เบตเปˆเบกเบต ANY, ALL, เบซเบผเบท NOT EXISTS.
  • เบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบˆเบธ a [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 clause เบ–เป‰เบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ„เบฒเบ”เบงเปˆเบฒเบˆเบฐเบกเบตเบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ‚เบญเบ‡ inserts/direct-loads, deletes, and updates.

  • เบžเบฝเบ‡เปเบ•เปˆ SUM, COUNT, AVG, STDDEV, VARIANCE, MIN เปเบฅเบฐ MAX เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบซเบผเบ”เบซเบ™เป‰เบฒเบˆเปเบ„เบทเบ™เป„เบง.
  • COUNT(*) เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบฅเบฐเบšเบธ.
  • เบŸเบฑเบ‡เบŠเบฑเบ™เบฅเบงเบกเบ•เป‰เบญเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบ™เบญเบเบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบฅเบงเบกเป€เบŠเบฑเปˆเบ™: AVG(AVG(x)) or AVG(x)+ AVG(x) เบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบญเบฐเบ™เบธเบเบฒเบ”.
  • เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบฅเบงเบกเป€เบŠเบฑเปˆเบ™: AVG(expr), เบ—เบตเปˆโ€‹เบชเบญเบ”โ€‹เบ„เป‰เบญเบ‡โ€‹เบเบฑเบ™โ€‹ COUNT(expr) เบ•เป‰เบญเบ‡เบกเบตเบขเบนเปˆ. Oracle เปเบ™เบฐเบ™เปเบฒเบงเปˆเบฒ SUM(expr) เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹.
  • If VARIANCE(expr) or STDDEV(expr) เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹, COUNT(expr) เปเบฅเบฐ SUM(expr) เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบฅเบฐเบšเบธ. Oracle เปเบ™เบฐเบ™เปเบฒเบงเปˆเบฒ SUM(expr *expr) เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹.
  • เป„เบ”เป‰ SELECT เบ–เบฑเบ™เปƒเบ™เปเบšเบšเบชเบญเบšเบ–เบฒเบกเบเบณเบ™เบปเบ”เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™เบ—เบตเปˆเบŠเบฑเบšเบŠเป‰เบญเบ™เบ—เบตเปˆเบกเบตเบ–เบฑเบ™เบˆเบฒเบเบซเบผเบฒเบเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ–เบฒเบ™. เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบกเบธเบกเป€เบšเบดเปˆเบ‡เบงเบฑเบ”เบชเบฐเบ”เบธเบ—เบตเปˆเบŠเป‰เบญเบ™เบเบฑเบ™.
  • เป„เบ”เป‰ SELECT เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ•เป‰เบญเบ‡เบกเบตเบ—เบฑเบ‡เบซเบกเบปเบ” GROUP BY เบ–เบฑเบ™.
  • เบกเบธเบกเบกเบญเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเบšเปเปˆเป„เบ”เป‰เบญเป‰เบฒเบ‡เบญเบตเบ‡เบˆเบฒเบเปœเบถเปˆเบ‡ เบซเบผเบทเบซเบผเบฒเบเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป„เบฅเบเบฐเป„เบ.
  • เบ–เป‰เบฒเบ—เปˆเบฒเบ™เปƒเบŠเป‰เบ CHAR เบ›เบฐโ€‹เป€เบžเบ”โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เปƒเบ™โ€‹เบ–เบฑเบ™โ€‹เบเบฒเบ™โ€‹เบเบฑเปˆเบ™โ€‹เบ•เบญเบ‡โ€‹เบ‚เบญเบ‡โ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เบเบฒเบ™โ€‹เป€เบšเบดเปˆเบ‡โ€‹เป€เบ›เบฑเบ™โ€‹เป€เบญโ€‹เบเบฐโ€‹เบชเบฒเบ™โ€‹, เบŠเบธเบ”โ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เบ‚เบญเบ‡โ€‹เป€เบงเบฑเบšโ€‹เป„เบŠโ€‹เบ•เบปเป‰เบ™โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เป€เบšเบดเปˆเบ‡ materialized เบ•เป‰เบญเบ‡โ€‹เป€เบ›เบฑเบ™โ€‹เบญเบฑเบ™โ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™โ€‹.
  • เบ–เป‰เบฒเบกเบธเบกเป€เบšเบดเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเบกเบตเบญเบฑเบ™เปƒเบ”เบญเบฑเบ™เปœเบถเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰, เบเบฒเบ™เป‚เบซเบผเบ”เบซเบ™เป‰เบฒเบˆเปเบ„เบทเบ™เป„เบงเปเบกเปˆเบ™เบฎเบญเบ‡เบฎเบฑเบšเบžเบฝเบ‡เปเบ•เปˆเปƒเบชเปˆเปƒเบชเปˆ DML เบ—เบณเบกเบฐเบ”เบฒ เปเบฅเบฐเบเบฒเบ™เป‚เบซเบผเบ”เป‚เบ”เบเบเบปเบ‡เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™.
    • เบกเบธเบกเป€เบšเบดเปˆเบ‡เบงเบฑเบ”เบชเบฐเบ”เบธเบ—เบตเปˆเบกเบต MIN or MAX เบฅเบงเบก
    • เบ—เบฑเบ”เบชเบฐเบ™เบฐเบ—เบตเปˆเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบกเบต SUM(expr) เปเบ•เปˆเบšเปเปˆเบกเบต COUNT(expr)
    • เบ—เบฑเบ”เบชเบฐเบ™เบฐเบ—เบตเปˆเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ COUNT(*)

    เบกเบธเบกเป€เบšเบดเปˆเบ‡เบ—เบตเปˆเบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเบ™เบฑเป‰เบ™เป€เบญเบตเป‰เบ™เบงเปˆเบฒ เบกเบธเบกเป€เบšเบดเปˆเบ‡เบ—เบตเปˆเบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™.

  • เบ—เบฑเบ” เบชเบฐ เบ™เบฐ เป€เบ›เบฑเบ™ materialized เบเบฑเบš MAX or MIN เบชเบฒเบกเบฒเบ”เป‚เบซเบผเบ”เบ‚เปเป‰เบกเบนเบ™เบ„เบทเบ™เปƒเปเปˆเป„เบ”เป‰เป„เบงเบซเบผเบฑเบ‡เบˆเบฒเบเบฅเบถเบš เบซเบผเบทเบ„เบณเบ–เบฐเปเบซเบผเบ‡ DML เบ›เบฐเบชเบปเบกเบเบฑเบ™ เบ–เป‰เบฒเบกเบฑเบ™เบšเปเปˆเบกเบต WHERE เบญเบฒเบ™เบธเบ›เบฐเป‚เบซเบเบ”.
    เบเบฒเบ™เป‚เบซเบผเบ”เบ‚เปเป‰เบกเบนเบ™เบ„เบทเบ™เปƒเปเปˆเป„เบงเบชเบนเบ‡เบชเบธเบ”/เบ™เบฒเบ—เบตเบซเบผเบฑเบ‡เบˆเบฒเบเบฅเบถเบš เบซเบผเบท DML เบ›เบฐเบชเบปเบกเบšเปเปˆเบกเบตเบžเบถเบ”เบ•เบดเบเบณเบ„เบทเบเบฑเบšเบเปเบฅเบฐเบ™เบตเปƒเบชเปˆเปƒเบชเปˆเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบกเบฑเบ™เบฅเบถเบš เปเบฅเบฐเบ„เบดเบ”เป„เบฅเปˆเบ„เปˆเบฒเบชเบนเบ‡เบชเบธเบ”/เบ™เบฒเบ—เบตเบ„เบทเบ™เปƒเปเปˆเบชเบณเบฅเบฑเบšเบเบธเปˆเบกเบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบš. เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฎเบนเป‰เป€เบ–เบดเบ‡เบœเบปเบ™เบเบฐเบ—เบปเบšเบ”เป‰เบฒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบกเบฑเบ™.
  • เบ—เบฑเบ”เบชเบฐเบ™เบตเบเบฐเบžเบฒเบšเบ—เบตเปˆเบกเบตเบŠเบทเปˆ เบซเบผเบทเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบเปˆเบญเบเบขเบนเปˆเปƒเบ™ FROM เบ‚เปเป‰เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เบ„เบทเบ™เปƒเบซเบกเปˆเบขเปˆเบฒเบ‡เป„เบงเบงเบฒ, เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™. เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบ—เบฑเบ”เบชเบฐเบ™เบฐเบ—เบตเปˆเบˆเบฐเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™, เป€เบšเบดเปˆเบ‡ Oracle Database SQL เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡.
  • เบ–เป‰เบฒเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบžเบฒเบเบ™เบญเบ, เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบกเบตเบเบฒเบ™เบ„เบฑเบ”เป€เบฅเบทเบญเบเป‚เบ”เบเบ•เบปเบ™เป€เบญเบ‡เปเบฅเบฐเป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเปƒเบ™ WHERE เบญเบฒเบ™เบธเบ›เบฐเป‚เบซเบเบ”.
  • เบกเบธเบกเป€เบšเบดเปˆเบ‡เบฅเบงเบกเบ—เบตเปˆเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบกเบตเบชเปˆเบงเบ™เบ™เบญเบเปเบกเปˆเบ™เบชเบฒเบกเบฒเบ”เป‚เบซเบผเบ”เบซเบ™เป‰เบฒเบˆเปเบ„เบทเบ™เป„เบ”เป‰เป„เบงเบซเบผเบฑเบ‡เบˆเบฒเบ DML เบ—เปเบฒเบกเบฐเบ”เบฒเปเบฅเบฐเบเบฒเบ™เป‚เบซเบผเบ”เป‚เบ”เบเบเบปเบ‡, เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบžเบฝเบ‡เปเบ•เปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ™เบญเบเป„เบ”เป‰เบ–เบทเบเบ”เบฑเบ”เปเบเป‰. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบเบ•เป‰เบญเบ‡เบกเบตเบขเบนเปˆเปƒเบ™เบ–เบฑเบ™เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบžเบฒเบเปƒเบ™. เบ–เป‰เบฒเบกเบตเบชเปˆเบงเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบžเบฒเบเบ™เบญเบ, เบ—เบธเบเป†เบชเปˆเบงเบ™เบ•เป‰เบญเบ‡เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบ™ ANDs เปเบฅเบฐเบ•เป‰เบญเบ‡เปƒเบŠเป‰เบ„เบงเบฒเบกเบชเบฐเป€เบซเบกเบตเบžเบฒเบš (=) เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบเบฒเบ™โ€‹.
  • เบชเปเบฒเบฅเบฑเบš views materialized เบเบฑเบš 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 เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเบ‡เบขเบนเปˆเปƒเบ™ subquery, เป‚เบ”เบเบกเบตเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบซเบ™เบถเปˆเบ‡: The UNION ALL เบชเบฒเบกเบฒเบ”เบขเบนเปˆเปƒเบ™ subquery เปƒเบ™ FROM เบ›เบฐเป‚เบซเบเบเบ—เบตเปˆเปƒเบซเป‰เบ„เปเบฒเบ™เบดเบเบฒเบกเปเบšเบšเบชเบญเบšเบ–เบฒเบกเปเบกเปˆเบ™เบ‚เบญเบ‡เปเบšเบšเบŸเบญเบก SELECT * FROM (เป€เบšเบดเปˆเบ‡ เบซเบผเบท subquery เบเบฑเบš UNION ALL) เปƒเบ™โ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹:

    CREATE VIEW view_with_unionall AS (SELECT c.rowid crid, c.cust_id, 2 umarker FROM customers c WHERE c.cust_last_name = 'Smith' UNION ALL SELECT c.rowid crid, c.cust_id, 3 umarker FROM customers c WHERE c.custname 'เป‚เบˆเบ™'); เบชเป‰เบฒเบ‡ MATERIALIZED VIEW unionall_inside_view_mv เป‚เบซเบผเบ”เบ‚เปเป‰เบกเบนเบ™เบ”เปˆเบงเบ™เบ•เบฒเบกเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเบญเบ * FROM view_with_unionall;
    

    เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ—เบฑเบ”เบชเบฐเบ™เบฐ view_with_unionall เบ•เบญเบšเบชเบฐเปœเบญเบ‡เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบซเบผเบ”เบซเบ™เป‰เบฒเบˆเปเบ„เบทเบ™เป„เบง.

  • เปเบ•เปˆเบฅเบฐเบšเบฅเบฑเบญเบเปเบšเบšเบชเบญเบšเบ–เบฒเบกเบขเบนเปˆเปƒเบ™ UNION ALL เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ•เป‰เบญเบ‡เบ•เบญเบšเบชเบฐเปœเบญเบ‡เป„เบ”เป‰เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบกเบธเบกเป€เบšเบดเปˆเบ‡เบงเบฑเบ”เบชเบฐเบ”เบธเบ—เบตเปˆเบชเบปเบ”เบŠเบทเปˆเบ™เป„เบ”เป‰เป„เบงเบ”เป‰เบงเบเบเบฒเบ™เบฎเบงเบšเบฎเบงเบก เบซเบผเบท เบกเบธเบกเบกเบญเบ‡เบงเบฑเบ”เบชเบฐเบ”เบธเบ—เบตเปˆเบ›เบฑเบšเบ›เบธเบ‡เปƒเปเปˆเป„เบ”เป‰เป„เบงเบ”เป‰เบงเบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก.

    เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เป€เบšเบดเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเป€เปเบฒเบฐเบชเบปเบกเบˆเบฐเบ•เป‰เบญเบ‡เบ–เบทเบเบชเป‰เบฒเบ‡เบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ•เบฒเบกเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบ›เบฐเป€เบžเบ”เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เบ‚เบญเบ‡เบกเบธเบกเป€เบšเบดเปˆเบ‡เบงเบฑเบ”เบชเบฐเบ”เบธเบ—เบตเปˆเบชเบปเบ”เบŠเบทเปˆเบ™เป„เบ”เป‰เป„เบง.
    เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ Oracle เบเบฑเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบเปเบฅเบฐเบ™เบตเบžเบดเป€เบชเบ”เบ‚เบญเบ‡เบกเบธเบกเป€เบšเบดเปˆเบ‡เบงเบฑเบ”เบชเบฐเบ”เบธเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ”เบฝเบงเบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบžเบฝเบ‡เปเบ•เปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰ ROWID เบ–เบฑเบ™เป„เบ”เป‰เบ–เบทเบเบฅเบงเบกเบขเบนเปˆเปƒเบ™ SELECT เบฅเบฒเบเบŠเบทเปˆเปเบฅเบฐเบขเบนเปˆเปƒเบ™เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เป€เบšเบดเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธ. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™เบ„เปเบฒเบ–เบฒเบกเบเปเบฒเบ™เบปเบ”เบ‚เบญเบ‡เบกเบธเบกเป€เบšเบดเปˆเบ‡ view_with_unionall.

  • เป„เบ”เป‰ SELECT เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบ„เปเบฒเบ–เบฒเบกเบ•เป‰เบญเบ‡เบ›เบฐเบเบญเบšเบกเบต a UNION ALL เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบ, เปเบฅเบฐ UNION ALL เบ–เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบ•เบปเบงเป€เบฅเบเบ„เบปเบ‡เบ—เบตเปˆเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡ เบซเบผเบทเบ„เปˆเบฒเบชเบฐเบ•เบฃเบดเบ‡เปƒเบ™เปเบ•เปˆเบฅเบฐ UNION ALL เบชเบฒเบ‚เบฒ. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ–เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบ•เป‰เบญเบ‡เบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เบ•เบณเปเปœเปˆเบ‡เบ”เบฝเบงเบเบฑเบ™เปƒเบ™ SELECT เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐ block query. เป€เบšเบดเปˆเบ‡ "UNION ALL Marker เปเบฅเบฐ Query Rewriteยป เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบš UNION ALL เป€เบ„เบทเปˆเบญเบ‡ เปเบฒเบ.
  • เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เบฎเปˆเบงเบกเบžเบฒเบเบ™เบญเบ, เบเบฒเบ™เปƒเบชเปˆเปเบšเบšเบชเบญเบšเบ–เบฒเบกเบเบฒเบ™เป€เบšเบดเปˆเบ‡เปเบšเบšเบฅเบงเบกเป†เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™ เปเบฅเบฐเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบเปเบกเปˆเบ™เบšเปเปˆเบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เป€เบšเบดเปˆเบ‡เบ—เบตเปˆเบชเป‰เบฒเบ‡เป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเบเบฑเบš UNION ALL. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ—เบฑเบ”เบชเบฐเบ™เบฐเบ—เบตเปˆเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡, เบ—เบตเปˆเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบซเบผเบทเบเบฒเบ™เบฅเบงเบšเบฅเบงเบก, เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เป„เบงเป€เบกเบทเปˆเบญ. UNION ALL เบซเบผเบทเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰.
  • เบžเบฒเบฃเบฒเบกเบดเป€เบ•เบตเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบ•เป‰เบญเบ‡เบ–เบทเบเบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™ 9.2.0 เบซเบผเบทเบชเบนเบ‡เบเบงเปˆเบฒเป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบกเบธเบกเป€เบšเบดเปˆเบ‡เบงเบฑเบ”เบชเบฐเบ”เบธเบ—เบตเปˆเบชเบปเบ”เบŠเบทเปˆเบ™เป„เบ”เป‰เป„เบงเบเบฑเบš UNION ALL.

เบ‚เป‰เบญเบเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เปเบŸเบ™ Oracle เบœเบดเบ”เบซเบงเบฑเบ‡, เปเบ•เปˆเบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เป‚เบ”เบเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”, เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบเบปเบ™เป„เบเบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ‚เบฝเบ™เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบปเปˆเบงเป„เบ›, เป‚เบ”เบเบ™เปเบฒเปƒเบŠเป‰เบฎเบนเบšเปเบšเบšเบšเบฒเบ‡เบ›เบฐเป€เบžเบ”, เปเบ•เปˆเป‚เบ”เบเบŠเบฒเบงเบญเบดเบ™เป€เบ”เบเบซเบฅเบฒเบเบžเบฑเบ™เบ„เบปเบ™, เบšเปˆเบญเบ™เบ—เบตเปˆเบ—เบธเบเบ„เบปเบ™เป„เบ”เป‰เบฎเบฑเบšเป‚เบญเบเบฒเบ”. เบ‚เบฝเบ™เบชเบฒเบ‚เบฒเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒเปเบ•เปˆเบฅเบฐเบ„เบปเบ™เป„เบ”เป‰เป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ—เบตเปˆเบฅเบฒเบงเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบปเบ™เป„เบเบ™เบตเป‰เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฒเบ™เบเปˆเบฒเบ‡เบœเปˆเบฒเบ™เบ—เบปเปˆเบ‡เบฅเบฐเป€เบšเบตเบ”เบเบฑเบ‡เบ”เบดเบ™. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบฅเบฐเป€เบšเบตเบ”เบเบฑเบ‡เบ”เบดเบ™เป„เบ”เป‰เบ—เบธเบเป€เบงเบฅเบฒเป‚เบ”เบเบเบฒเบ™เบเบปเบ”เปเบ›เป‰เบ™เบžเบดเบกเบซเบ™เบถเปˆเบ‡เปƒเบ™เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ—เบตเปˆเบšเปเปˆเบŠเบฑเบ”เป€เบˆเบ™. เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบ‡เป€เบ›เบฑเบ™เบ„เปเบฒเบ–เบฒเบกเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เปเบ•เปˆเบงเปˆเบฒเบกเบฑเบ™เปเบกเปˆเบ™เป€เบเบตเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰.

เป€เบŠเบตเบšเป€เบงเบต Microsoft SQL

เบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก

เบ™เบญเบเป€เปœเบทเบญเป„เบ›เบˆเบฒเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ SET เปเบฅเบฐเบ‚เปเป‰เบเปเบฒเบซเบ™เบปเบ”เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”, เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบ•เป‰เบญเบ‡เบ–เบทเบเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡:

  • เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ CREATE INDEX เบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบกเบธเบกเบกเบญเบ‡.
  • เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เบ”เบฑเบ”เบชเบฐเบ™เบต, the IGNORE_DUP_KEY เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ•เป‰เบญเบ‡โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ•เบฑเป‰เบ‡โ€‹เป€เบ›เบฑเบ™ OFF (เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹)โ€‹.
  • เบ•เบฒโ€‹เบ•เบฐโ€‹เบฅเบฒเบ‡โ€‹เบ•เป‰เบญเบ‡โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบญเป‰เบฒเบ‡โ€‹เบญเบตเบ‡โ€‹เป‚เบ”เบโ€‹เบŠเบทเปˆโ€‹เบชเบญเบ‡โ€‹เบžเบฒเบโ€‹เบชเปˆเบงเบ™โ€‹, เป‚เบ„เบ‡.เบŠเบทเปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ เปƒเบ™โ€‹เบ„เปเบฒโ€‹เบ™เบดโ€‹เบเบฒเบกโ€‹เบ—เบฑเบ”โ€‹เบชเบฐโ€‹เบ™เบฐโ€‹.
  • เบŸเบฑเบ‡เบŠเบฑเบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบญเป‰เบฒเบ‡เบญเบตเบ‡เปƒเบ™เบกเบธเบกเป€เบšเบดเปˆเบ‡เบ•เป‰เบญเบ‡เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เป‚เบ”เบเบเบฒเบ™เปƒเบŠเป‰ WITH SCHEMABINDING เบ—เบฒเบ‡เป€เบฅเบทเบญเบ.
  • เบŸเบฑเบ‡เบŠเบฑเบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เบเบณเบ™เบปเบ”เป€เบญเบ‡เบ—เบตเปˆเบญเป‰เบฒเบ‡เบญเบตเบ‡เปƒเบ™เบกเบธเบกเบกเบญเบ‡เบˆเบฐเบ•เป‰เบญเบ‡เบญเป‰เบฒเบ‡เบญเบตเบ‡เบ”เป‰เบงเบเบŠเบทเปˆเบชเบญเบ‡เบชเปˆเบงเบ™, ..
  • เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เบเบณเบ™เบปเบ”เป€เบญเบ‡เบˆเบฐเบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™ NO SQL, เปเบฅเบฐเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบžเบฒเบเบ™เบญเบเบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™ NO.
  • เบŸเบฑเบ‡เบŠเบฑเบ™เบžเบฒเบชเบฒเบ—เบปเปˆเบงเป„เบ› (CLR) เบชเบฒเบกเบฒเบ”เบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเป€เบฅเบทเบญเบเบ‚เบญเบ‡เบกเบธเบกเบกเบญเบ‡, เปเบ•เปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบ„เปเบฒเบ™เบดเบเบฒเบกเบ‚เบญเบ‡เบเบฐเปเบˆเบ”เบฑเบ”เบชเบฐเบ™เบตเบเบธเปˆเบก. เบŸเบฑเบ‡เบŠเบฑเบ™ CLR เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™ WHERE clause เบ‚เบญเบ‡เบกเบธเบกเบกเบญเบ‡ เบซเบผเบท ON เบ‚เบญเบ‡เบ„เบณเบชเบฑเปˆเบ‡ JOIN เปƒเบ™เบกเบธเบกเบกเบญเบ‡.
  • เบŸเบฑเบ‡เบŠเบฑเบ™ CLR เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เบเปเบฒเบ™เบปเบ” CLR เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบ„เปเบฒเบ™เบดเบเบฒเบกเบเบฒเบ™เป€เบšเบดเปˆเบ‡เบ•เป‰เบญเบ‡เบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰.

    เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”
    เบซเบกเบฒเบโ€‹เป€เบซเบ”โ€‹

    DETERMINISTIC = เบ„เบงเบฒเบกเบˆเบดเบ‡
    เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฐเบเบฒเบ”เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เบงเปˆเบฒเป€เบ›เบฑเบ™เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™ Microsoft .NET Framework.

    PreCISE = เบ„เบงเบฒเบกเบˆเบดเบ‡
    เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฐเบเบฒเบ”เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เบงเปˆเบฒเป€เบ›เบฑเบ™เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™ .NET Framework.

    เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เปเป‰เบกเบนเบ™ = เบšเปเปˆเบกเบต SQL
    เบเบณเบ™เบปเบ”เป‚เบ”เบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” DataAccess เป€เบ›เบฑเบ™ DataAccessKind.None เปเบฅเบฐ SystemDataAccess attribute เบเบฑเบš SystemDataAccessKind.None.

    เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบžเบฒเบเบ™เบญเบ = NO
    เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ™เบตเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ›เบฑเบ™ NO เบชเปเบฒเบฅเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบฎเบฑเบ”เบ›เบฐเบˆเบณ CLR.

  • เบกเบธเบกเป€เบšเบดเปˆเบ‡เบ•เป‰เบญเบ‡เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เป‚เบ”เบเบเบฒเบ™เปƒเบŠเป‰ WITH SCHEMABINDING เบ—เบฒเบ‡เป€เบฅเบทเบญเบ.
  • เบกเบธเบกเป€เบšเบดเปˆเบ‡เบ•เป‰เบญเบ‡เบญเป‰เบฒเบ‡เบญเบตเบ‡เบžเบฝเบ‡เปเบ•เปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบกเบธเบกเป€เบšเบดเปˆเบ‡. เบ—เบฑเบ”เบชเบฐเบ™เบฐเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบšเปเปˆเบชเบฒเบกเบฒเบ”เบญเป‰เบฒเบ‡เบญเบตเบ‡เบ—เบฑเบ”เบชเบฐเบ™เบฐเบญเบทเปˆเบ™เป„เบ”เป‰.
  • เบ„เบณเบชเบฑเปˆเบ‡ SELECT เปƒเบ™เบ„เบณเบ™เบดเบเบฒเบกเบเบฒเบ™เป€เบšเบดเปˆเบ‡เบˆเบฐเบ•เป‰เบญเบ‡เบšเปเปˆเบกเบตเบญเบปเบ‡เบ›เบฐเบเบญเบš Transact-SQL เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

    COUNT
    เบŸเบฑเบ‡เบŠเบฑเบ™ ROWSET (OPENDATASOURCE, OPENQUERY, OPENROWSET, เปเบฅเบฐ OPENXML)
    OUTER เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก (LEFT, RIGHT, เบซเบผเบท FULL)

    เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบฒเบˆเบฒเบ (เบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบเบฒเบ™เบฅเบฐเบšเบธ a SELECT เบ–เบฐเปเบซเบผเบ‡เบเบฒเบ™เปƒเบ™ FROM เบ‚เปเป‰โ€‹)
    เบ•เบปเบ™เป€เบญเบ‡เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก
    เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ„เปเบฅเปเบฒเป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ SELECT * or SELECT <table_name>.*

    DISTINCT
    STDEV, STDEVP, VAR, VARP, เบซเบผเบท AVG
    เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบปเปˆเบงเป„เบ› (CTE)

    float1, เบ‚เปเป‰เบ„เบงเบฒเบก, ntext, เบฎเบนเบšเบžเบฒเบšเป€เบฅเบฑเบเบ™เป‰เบญเบ, XML, เบซเบผเบท เบเบฐเปเบชเป„เบŸเบฅเปŒ เบ„เปเบฅเปเบฒ
    เบชเบญเบšเบ–เบฒเบกเบเปˆเบญเบ
    OVER clause, เป€เบŠเบดเปˆเบ‡เบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบˆเบฑเบ”เบญเบฑเบ™เบ”เบฑเบšเบซเบผเบทเบซเบ™เป‰เบฒเบ—เบตเปˆเบฅเบงเบกเบ‚เบญเบ‡เบ›เปˆเบญเบ‡เบขเป‰เบฝเบก

    เบ•เบปเบงเบŠเบตเป‰เบšเบญเบเบ‚เปเป‰เบ„เบงเบฒเบกเป€เบ•เบฑเบก (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 เบกเบธเบกเบกเบญเบ‡เบ”เบฑเบ”เบชเบฐเบ™เบตเบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบˆเบธ float เบ–เบฑเบ™; เปเบ™เบงเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ–เบฑเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฐเปเบˆเบ”เบฑเบ”เบŠเบฐเบ™เบตเบเบธเปˆเบก.

  • If GROUP BY เบ›เบฐเบˆเบธเบšเบฑเบ™, เบ„เปเบฒเบ™เบดเบเบฒเบก VIEW เบ•เป‰เบญเบ‡เบกเบต COUNT_BIG(*) เปเบฅเบฐโ€‹เบ•เป‰เบญเบ‡โ€‹เบšเปเปˆโ€‹เบกเบตโ€‹ HAVING. เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰ GROUP BY เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เปเบกเปˆเบ™เปƒเบŠเป‰เป„เบ”เป‰เบเบฑเบšเบ„เปเบฒเบ™เบดเบเบฒเบกเบเบฒเบ™เป€เบšเบดเปˆเบ‡เบ—เบตเปˆเบ–เบทเบเบ”เบฑเบ”เบชเบฐเบ™เบตเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบกเบธเบกเป€เบšเบดเปˆเบ‡เบ—เบตเปˆเบ–เบทเบเบ”เบฑเบ”เบชเบฐเบ™เบตเปƒเบ™เปเบœเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบกเบฑเบ™เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเบžเปเปƒเบˆเบเบฑเบšเบชเบดเปˆเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰ GROUP BY เบ‚เปเป‰ เบˆเบณ เบเบฑเบ”.
  • เบ–เป‰เบฒเบ„เปเบฒเบ™เบดเบเบฒเบกเบเบฒเบ™เป€เบšเบดเปˆเบ‡เบ›เบฐเบเบญเบšเบ”เป‰เบงเบ a GROUP BY clause, เบเบธเบ™เปเบˆเบ‚เบญเบ‡เบ”เบฑเบ”เบŠเบฐเบ™เบตเบเบธเปˆเบกเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบเบชเบฒเบกเบฒเบ”เบญเป‰เบฒเบ‡เบญเบตเบ‡เบžเบฝเบ‡เปเบ•เปˆเบ–เบฑเบ™เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ GROUP BY เบญเบฒเบ™เบธเบ›เบฐเป‚เบซเบเบ”.

เบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เบงเปˆเบฒเบŠเบฒเบงเบญเบดเบ™เป€เบ”เบเบšเปเปˆเป„เบ”เป‰เบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบก, เป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเป€เบฎเบฑเบ”เบกเบฑเบ™เบ•เบฒเบกเป‚เบ„เบ‡เบเบฒเบ™ "เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบฎเบฑเบ”เบžเบฝเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบ, เปเบ•เปˆเบเปเปˆเบ”เบต." เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบกเบตเบฅเบฐเป€เบšเบตเบ”เบเบฑเบ‡เบ”เบดเบ™เบซเบผเบฒเบเบขเบนเปˆเปƒเบ™เบžเบฒเบเบชเบฐเบซเบ™เบฒเบก, เปเบ•เปˆเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบกเบตเบ„เบงเบฒเบกเป‚เบ›เปˆเบ‡เปƒเบชเบเบงเปˆเบฒ. เบชเบดเปˆเบ‡เบ—เบตเปˆเบœเบดเบ”เบซเบงเบฑเบ‡เบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ™เบตเป‰:

เบกเบธเบกเป€เบšเบดเปˆเบ‡เบ•เป‰เบญเบ‡เบญเป‰เบฒเบ‡เบญเบตเบ‡เบžเบฝเบ‡เปเบ•เปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบกเบธเบกเป€เบšเบดเปˆเบ‡. เบ—เบฑเบ”เบชเบฐเบ™เบฐเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบšเปเปˆเบชเบฒเบกเบฒเบ”เบญเป‰เบฒเบ‡เบญเบตเบ‡เบ—เบฑเบ”เบชเบฐเบ™เบฐเบญเบทเปˆเบ™เป„เบ”เป‰.

เปƒเบ™เบ„เปเบฒเบชเบฑเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบŸเบฑเบ‡เบŠเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเบญเบทเปˆเบ™. เบญเบฑเบ™เบ™เบตเป‰เบ•เบฑเบ”เบญเบธเบ”เบปเบกเบเบฒเบ™เบ—เบฑเบ‡เปเบปเบ”เปƒเบ™เบ”เบญเบเบเบธเบซเบผเบฒเบš.
เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ™เบตเป‰ (เปเบฅเบฐเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปƒเบ™เบ‚เปเป‰เบ„เบงเบฒเบก) เบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเบเปเบฅเบฐเบ™เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰:

เบ„เบณเบชเบฑเปˆเบ‡ SELECT เปƒเบ™เบ„เบณเบ™เบดเบเบฒเบกเบเบฒเบ™เป€เบšเบดเปˆเบ‡เบˆเบฐเบ•เป‰เบญเบ‡เบšเปเปˆเบกเบตเบญเบปเบ‡เบ›เบฐเบเบญเบš Transact-SQL เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

COUNT
เบŸเบฑเบ‡เบŠเบฑเบ™ ROWSET (OPENDATASOURCE, OPENQUERY, OPENROWSET, เปเบฅเบฐ OPENXML)
OUTER เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก (LEFT, RIGHT, เบซเบผเบท FULL)

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบฒเบˆเบฒเบ (เบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบเบฒเบ™เบฅเบฐเบšเบธ a SELECT เบ–เบฐเปเบซเบผเบ‡เบเบฒเบ™เปƒเบ™ FROM เบ‚เปเป‰โ€‹)
เบ•เบปเบ™เป€เบญเบ‡เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก
เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ„เปเบฅเปเบฒเป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ SELECT * or SELECT <table_name>.*

DISTINCT
STDEV, STDEVP, VAR, VARP, เบซเบผเบท AVG
เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบปเปˆเบงเป„เบ› (CTE)

float1, เบ‚เปเป‰เบ„เบงเบฒเบก, ntext, เบฎเบนเบšเบžเบฒเบšเป€เบฅเบฑเบเบ™เป‰เบญเบ, XML, เบซเบผเบท เบเบฐเปเบชเป„เบŸเบฅเปŒ เบ„เปเบฅเปเบฒ
เบชเบญเบšเบ–เบฒเบกเบเปˆเบญเบ
OVER clause, เป€เบŠเบดเปˆเบ‡เบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบˆเบฑเบ”เบญเบฑเบ™เบ”เบฑเบšเบซเบผเบทเบซเบ™เป‰เบฒเบ—เบตเปˆเบฅเบงเบกเบ‚เบญเบ‡เบ›เปˆเบญเบ‡เบขเป‰เบฝเบก

เบ•เบปเบงเบŠเบตเป‰เบšเบญเบเบ‚เปเป‰เบ„เบงเบฒเบกเป€เบ•เบฑเบก (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

เบเบฒเบ™โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เบฎเปˆเบงเบกโ€‹เบžเบฒเบโ€‹เบ™เบญเบโ€‹, เบชเบฐโ€‹เบซเบฐโ€‹เบžเบฒเบšโ€‹, เบเบฒเบ™โ€‹เบชเบฑเปˆเบ‡โ€‹เป‚เบ”เบโ€‹เปเบฅเบฐโ€‹เบญเบทเปˆเบ™เป†โ€‹เปเบกเปˆเบ™โ€‹เบซเป‰เบฒเบกโ€‹. เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบ‡เปˆเบฒเบเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบฅเบฐเบšเบธเบชเบดเปˆเบ‡เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ™เบณเปƒเบŠเป‰เป„เบ”เป‰เบซเบผเบฒเบเบเบงเปˆเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ™เบณเปƒเบŠเป‰เป„เบ”เป‰. เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบญเบฒเบ”เบˆเบฐเบ™เป‰เบญเบเบเบงเปˆเบฒเบซเบผเบฒเบ.

เป€เบžเบทเปˆเบญเบชเบฐเบซเบผเบธเบš: เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบญเบฑเบ™เปƒเบซเบเปˆเบซเบผเบงเบ‡เปƒเบ™เบ—เบธเบเป† (เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเบฑเบ‡เป€เบเบ”เบเบฒเบ™เบ„เป‰เบฒ) DBMS เบ—เบฝเบšเบเบฑเบšเบšเปเปˆเบกเบต (เบเบปเบเป€เบงเบฑเป‰เบ™เป€เบซเบ”เบœเบปเบ™เบซเบ™เบถเปˆเบ‡, เบšเปเปˆเปเบกเปˆเบ™เบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™) เปƒเบ™เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต LGPL. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ„เบงเบ™เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบปเบ™เป„เบเบ™เบตเป‰เปƒเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบซเบผเบฒเบเบเปˆเบงเบฒเปƒเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเป„เบ”เป‰เบญเบฐเบ—เบดเบšเบฒเบ.

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

เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบ™เบงเปƒเบ”? PostgreSQL เบ–เบทเบเปƒเบŠเป‰เป€เบ›เบฑเบ™ "เป€เบ„เบทเปˆเบญเบ‡ virtual". เบกเบต algorithm เบ—เบตเปˆเบŠเบฑเบšเบŠเป‰เบญเบ™เบžเบฒเบเปƒเบ™เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ„เปเบฒเบ–เบฒเบก. เบ—เบตเปˆเบ™เบตเป‰ เปเบซเบผเปˆเบ‡. เปเบฅเบฐเบšเปเปˆเบกเบตเบžเบฝเบ‡เปเบ•เปˆเบŠเบธเบ”เปƒเบซเบเปˆเบ‚เบญเบ‡ heuristics เบ—เบตเปˆเบกเบตเบŠเปเปˆเบ‚เบญเบ‡ ifs. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเป€เบงเบฅเบฒเบชเบญเบ‡เบชเบฒเบกเป€เบ”เบทเบญเบ™เป€เบžเบทเปˆเบญเบฎเบฝเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบžเบฐเบเบฒเบเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ.

เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบšเป? เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš. เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเบžเบดเบชเบนเบ”. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เป€เบงเบปเป‰เบฒเป„เบ”เป‰เบงเปˆเบฒเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบซเบฅเบฒเบเบžเบฑเบ™เบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ, เป‚เบ”เบเบชเบฐเป€เบฅเปˆเบเปเบฅเป‰เบงเบžเบงเบเบกเบฑเบ™เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบฒเบเบเปˆเบงเบฒเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบตเปˆเบ”เบต. เบœเบนเป‰เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก SQL เบ—เบตเปˆเบ”เบตเป€เบฅเบตเบ”เบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เบ„เปเบฒเบ–เบฒเบกเปƒเบ”เป†เป„เบ”เป‰เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบฒเบ, เปเบ•เปˆเบ”เป‰เบงเบเบžเบฑเบ™เบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบฅเบฒเบงเบžเบฝเบ‡เปเบ•เปˆเบˆเบฐเบšเปเปˆเบกเบตเปเบฎเบ‡เบˆเบนเบ‡เปƒเบˆเบซเบผเบทเป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบกเบฑเบ™. เบชเบดเปˆเบ‡เบ”เบฝเบงเบ—เบตเปˆเบ‚เป‰เบญเบเบชเบฒเบกเบฒเบ”เบญเป‰เบฒเบ‡เป€เบ–เบดเบ‡เบซเบผเบฑเบเบ–เบฒเบ™เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปเบกเปˆเบ™เบงเปˆเบฒเป‚เบ„เบ‡เบเบฒเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เป€เบงเบ—เบตเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™ DBMS เบ™เบตเป‰. เบฅเบฐเบšเบปเบš ERP, เบ—เบตเปˆเบกเบตเบซเบฅเบฒเบเบžเบฑเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆ MATERIALIZED เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบกเบตเบœเบนเป‰เปƒเบŠเป‰เบซเบฅเบฒเบเบžเบฑเบ™เบ„เบปเบ™เปเบฅเบฐเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ terabyte เบ—เบตเปˆเบกเบตเบšเบฑเบ™เบ—เบถเบเบซเบผเบฒเบเบฎเป‰เบญเบเบฅเป‰เบฒเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบกเบตเบชเบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบ›เบปเบเบเบฐเบ•เบด. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ—เบธเบเบ„เบปเบ™เบชเบฒเบกเบฒเบ”เบเบงเบ”เบชเบญเบš / เบ›เบฐเบ•เบดเป€เบชเบ”เบ›เบฐเบชเบดเบ”เบ—เบดเบœเบปเบ™เป‚เบ”เบเบเบฒเบ™เบ”เบฒเบงเป‚เบซเบผเบ” เป€เบงเบ—เบต เปเบฅเบฐ PostgreSQL, เป€เบ›เบตเบ” เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบชเบญเบšเบ–เบฒเบก SQL เปเบฅเบฐเบžเบฐเบเบฒเบเบฒเบกเบ›เปˆเบฝเบ™เป€เบซเบ”เบœเบปเบ™เปเบฅเบฐเบ‚เปเป‰เบกเบนเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™.

เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบเบฑเบ‡เบˆเบฐเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบเปˆเบฝเบงเบเบฑเบšเบซเบ™เป‰เบฒเบ—เบตเปˆ, เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเบญเบ‡เบ›เบฐเบŠเบธเบกเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡, เปเบฅเบฐเบญเบทเปˆเบ™เป†เบญเบตเบ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™