αžαž»αž›αŸ’αž™αž—αžΆαž–αžŸαžšαžŸαŸαžš αž“αž·αž„αž’αžΆαž“αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™

αžαž»αž›αŸ’αž™αž—αžΆαž–αžŸαžšαžŸαŸαžš αž“αž·αž„αž’αžΆαž“αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™
αž“αŸ…αž˜αž»αž“αž“αŸαŸ‡αŸ” αž’αžαŸ’αžαž”αž‘ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž‚αŸ„αž›αž‚αŸ†αž“αž·αž αž“αž·αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž“αŸƒαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž›αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž“αŸƒαž˜αž»αžαž„αžΆαžš αž‡αžΆαž‡αžΆαž„αžαžΆαžšαžΆαž„ αž“αž·αž„αžœαžΆαž›αžŠαžΌαž…αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αŸ” αžœαžΆαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž§αž‘αžΆαž αžšαžŽαŸαž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž‚αž»αžŽαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž“αŸƒαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸαŸ‡αž‡αžΆαž„αž”αž»αžšαžΆαžŽαž˜αž½αž™αŸ” αž˜αž“αž»αžŸαŸ’αžŸαž‡αžΆαž…αŸ’αžšαžΎαž“αž”αžΆαž“αžšαž€αžƒαžΎαž‰αžαžΆαž–αž½αž€αž‚αŸαž˜αž·αž“αž‚αž½αžšαž±αŸ’αž™αž‡αžΏαž‡αžΆαž€αŸ‹αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αž‘αŸαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž”αž„αŸ’αž αžΆαž‰αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž‚αŸ„αž›αž‚αŸ†αž“αž·αžαž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž’αŸ’αžœαžΎαžŸαž˜αžαž»αž›αŸ’αž™αž€αžΆαžšαžŸαžšαžŸαŸαžš αž“αž·αž„αž’αžΆαž“αž‘αŸ…αž€αžΆαž“αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αžΆαž“αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸ αž“αž·αž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŠαŸ„αž™αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŽαžΆαž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„αžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ” αž˜αž»αžαž„αžΆαžšαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž–αŸ’αž™αžΆαž™αžΆαž˜αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž€αŸ’αž“αž»αž„ 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 αž˜αž»αžαž„αžΆαžšαž“αžΉαž„αž”αž„αŸ’αž€αžΎαžαžŸαŸ†αžŽαž½αžšαžšαž„αž˜αž½αž™αžŠαŸ‚αž›αž“αžΉαž„αž‚αžŽαž“αžΆαžαž˜αŸ’αž›αŸƒαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž“αžΆαž™αž€αžŠαŸ’αž‹αžΆαž“ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž’αŸ’αžœαžΎαž€αžΆαžš JOIN αž‡αžΆαž˜αž½αž™αžαžΆαžšαžΆαž„αž“αžΆαž™αž€αžŠαŸ’αž‹αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž»αžαž„αžΆαžšαž“αžΈαž˜αž½αž™αŸ— αž“αŸ…αž–αŸαž›αž”αŸ’αžšαž€αžΆαžŸ αžœαžΆαž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ MATERIALIZED αž–αž·αžŸαŸαžŸαž”αžΆαž“αŸ” αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž“αžΉαž„αž”αž„αŸ’αž€αžΎαžαžœαžΆαž›αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž»αžαž„αžΆαžšαž“αžΈαž˜αž½αž™αŸ—αŸ” αž“αŸ…αž–αŸαž›αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαž˜αŸ’αž›αŸƒαž“αŸƒαž’αž“αž»αž‚αž˜αž“αŸ αžαž˜αŸ’αž›αŸƒαž“αŸƒαžœαžΆαž›αž€αŸαž“αžΉαž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαžΌαž…αž‚αŸ’αž“αžΆαžŠαŸ‚αžšαŸ” αž“αŸ…αž–αŸαž›αž…αžΌαž›αž”αŸ’αžšαžΎαž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡ αžœαžΆαž›αžŠαŸ‚αž›αž”αžΆαž“αž‚αžŽαž“αžΆαž‡αžΆαž˜αž»αž“αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΌαž›αž”αŸ’αžšαžΎαŸ”

αž‡αžΆαž–αž·αžŸαŸαžŸαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹ MATERIALIZED αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž»αžαž„αžΆαžš αžšαžΆαž”αŸ‹αž”αž»αž‚αŸ’αž‚αž›αž·αž€ ΠΈ αž”αŸ’αžšαžΆαž€αŸ‹αž”αŸ€αžœαžαŸ’αžŸαžšαŸαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ αžœαžΆαž›αž…αŸ†αž“αž½αž“αž–αžΈαžšαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αž‰αŸ’αž‡αžΈαž“αŸƒαž“αžΆαž™αž€αžŠαŸ’αž‹αžΆαž“ αžŠαŸ‚αž›αž“αžΉαž„αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž…αŸ†αž“αž½αž“αž”αž»αž‚αŸ’αž‚αž›αž·αž€ αž“αž·αž„αž”αŸ’αžšαžΆαž€αŸ‹αžαŸ‚αžŸαžšαž»αž”αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ” αž“αŸ…αž–αŸαž›αžŽαžΆαžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αž»αž‚αŸ’αž‚αž›αž·αž€ αž”αŸ’αžšαžΆαž€αŸ‹αž”αŸ€αžœαžαŸ’αžŸαžšαŸ αž¬αž€αžΆαžšαž‡αžΆαž”αŸ‹αž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αž“αžΆαž™αž€αžŠαŸ’αž‹αžΆαž“ αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž“αžΉαž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαž˜αŸ’αž›αŸƒαž“αŸƒαžœαžΆαž›αž‘αžΆαŸ†αž„αž“αŸαŸ‡αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αžŸαŸ†αžŽαž½αžšαžαžΆαž„αž›αžΎαž“αžΉαž„αž…αžΌαž›αž”αŸ’αžšαžΎαžœαžΆαž›αž‘αžΆαŸ†αž„αž“αŸαŸ‡αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹ αž αžΎαž™αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αŸ’αž“αž»αž„ O (αž…αŸ†αž“αž½αž“αž“αžΆαž™αž€αžŠαŸ’αž‹αžΆαž“).

αžαžΎαž˜αžΆαž“αž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡? αž˜αžΆαž“αžαŸ‚αžšαžΏαž„αž˜αž½αž™αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ– αž˜αž»αžαž„αžΆαžšαž”αŸ‚αž”αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαžαŸ‚αž˜αžΆαž“αž…αŸ†αž“αž½αž“αž€αŸ†αžŽαžαŸ‹αž“αŸƒαžαž˜αŸ’αž›αŸƒαž”αž‰αŸ’αž…αžΌαž›αžŠαŸ‚αž›αžαž˜αŸ’αž›αŸƒαžšαž”αžŸαŸ‹αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αŸ” αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‘αŸ αžœαžΆαž“αžΉαž„αž˜αž·αž“αž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαžαžΆαžšαžΆαž„αžŠαŸ‚αž›αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžαž˜αŸ’αž›αŸƒαžšαž”αžŸαŸ‹αžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž”αžΆαž“αž‘αŸ αž–αŸ’αžšαŸ„αŸ‡αž˜αž·αž“αž’αžΆαž…αž˜αžΆαž“αžαžΆαžšαžΆαž„αžŠαŸ‚αž›αž˜αžΆαž“αž…αŸ†αž“αž½αž“αž‡αž½αžšαžŠαŸαž€αž‚αŸ’αž˜αžΆαž“αž€αŸ†αžŽαžαŸ‹αŸ”

αž§αž‘αžΆαž αžšαžŽαŸ:

employeesCount β€˜ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΡΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΎΠ² Ρ Π·Π°Ρ€ΠΏΠ»Π°Ρ‚ΠΎΠΉ > N’ (Department d, NUMERIC[10,2] N) = 
    GROUP SUM salary(Employee e) IF department(e) = d AND salary(e) > N;

αž’αž“αž»αž‚αž˜αž“αŸβ€‹αž“αŸαŸ‡β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž€αŸ†αžŽαžαŸ‹β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž…αŸ†αž“αž½αž“β€‹αž‚αŸ’αž˜αžΆαž“β€‹αž€αŸ†αžŽαžαŸ‹β€‹αž“αŸƒβ€‹αžαž˜αŸ’αž›αŸƒ N (αž§αž‘αžΆαž αžšαžŽαŸ αžαž˜αŸ’αž›αŸƒβ€‹αž’αžœαž·αž‡αŸ’αž‡αž˜αžΆαž“β€‹αžŽαžΆαž˜αž½αž™β€‹αž‚αžΊβ€‹αžŸαž˜αžšαž˜αŸ’αž™)αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž’αŸ’αž“αž€αž˜αž·αž“αž’αžΆαž…αžŠαžΆαž€αŸ‹ MATERIALISED αž“αŸ…αž›αžΎαžœαžΆαž”αžΆαž“αž‘αŸαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αž€αžΆαžšβ€‹αž€αŸ†αžŽαžαŸ‹β€‹αž‘αžΌαž‡αžΈαžαž› αž˜αž·αž“αž˜αŸ‚αž“β€‹αž‡αžΆβ€‹αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸβ€‹αž‘αŸ (αž“αŸ„αŸ‡β€‹αž˜αž·αž“αž˜αŸ‚αž“β€‹αž˜αž€β€‹αž–αžΈβ€‹αž™αžΎαž„β€‹αž˜αž·αž“β€‹αž’αžΆαž…β€‹αž’αž“αž»αžœαžαŸ’αžβ€‹αžœαžΆβ€‹αž”αžΆαž“β€‹αž‘αŸ)αŸ” αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž‘αŸαž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αž‘αŸαŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž€αžΆαžšαžŠαžΆαž€αŸ‹αž‡αžΆαž€αŸ’αžšαž»αž˜ αž€αžΆαžšαžαž˜αŸ’αžšαŸ€αž” 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αžœαžΆαž“αžΉαž„αž”αž“αŸ’αžαŸ‚αž˜αžœαžΆαž›αž–αžΈαžšαž‘αŸ…αžœαžΆ αž αžΎαž™αž“αžΉαž„αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžαž˜αŸ’αž›αŸƒαžœαžΆαž›αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž½αž€αžœαžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŽαžΆαž˜αž½αž™αŸ” αž“αŸ…αž–αŸαž›αž€αžΆαžšαž αŸ…αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž‘αŸ…αž€αžΆαž“αŸ‹αž˜αž»αžαž„αžΆαžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡ αžœαžΆαž“αžΉαž„αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžŽαž“αžΆαž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαž˜αŸ’αž›αŸƒαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž“αž–αžΈαžœαžΆαž›αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαŸ”

αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αžŠαŸ„αž™αž”αŸ’αžšαžΎαž™αž“αŸ’αžαž€αžΆαžšαž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž€αž˜αŸ’αž…αžΆαžαŸ‹αž€αžΆαžšαž αŸ…αž‘αžΎαž„αžœαž·αž‰ (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;

αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž»αžαž„αžΆαžš αž‚αžΊαžͺαž–αž»αž€αž˜αŸ’αžαžΆαž™ αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžαžΆ MATERIALIZED αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžαžΆαžšαžΆαž„αžŠαŸ‚αž›αž˜αžΆαž“αž€αžΌαž“αžŸαŸ„αž–αžΈαžš (αž€αŸ’αžšαž»αž˜) αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΆ αžŠαŸ‚αž›αž“αŸ…αž€αŸ’αž“αž»αž„αžœαžΆαž› αž‚αžΊαžͺαž–αž»αž€αž˜αŸ’αžαžΆαž™ αž“αžΉαž„αž‡αžΆαž€αžΆαžšαž–αž·αžαž›αž»αŸ‡αžαŸ’αžšαžΆαžαŸ‚αž€αžΌαž“αžŸαŸ„αž‘αžΈαž˜αž½αž™αž‡αžΆαž€αžΌαž“αž‘αžΈαž–αžΈαžšαŸ” αž…αŸ†αž“αž½αž“αž’αžΆαžαž»αž“αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αž“αŸαŸ‡αž“αžΉαž„αžŸαŸ’αž˜αžΎαž“αžΉαž„αž…αŸ†αž“αž½αž“αž€αŸ’αžšαž»αž˜αžŠαŸ‚αž›αž‚αž»αžŽαž“αžΉαž„αž‡αž˜αŸ’αžšαŸ…αž˜αž’αŸ’αž™αž˜αž“αŸƒαž˜αŸ‚αž€αž’αžΆαž„αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžš αžŠαžΎαž˜αŸ’αž”αžΈαžšαžΆαž”αŸ‹αž…αŸ†αž“αž½αž“αž€αžΌαž“αž…αŸ…αž“αŸƒαž€αŸ’αžšαž»αž˜αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹ αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αŸ–

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

αž“αžΉαž„αž˜αž·αž“αž˜αžΆαž“ CTE αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ†αžŽαž½αžš SQL αž‘αŸαŸ” αž•αŸ’αž‘αž»αž™αž‘αŸ…αžœαž·αž‰ αžœαžΆαž“αžΉαž„αž˜αžΆαž“αž€αŸ’αžšαž»αž˜αžŸαžΆαž˜αž‰αŸ’αž‰αž˜αž½αž™αŸ”

αžŠαŸ„αž™αž”αŸ’αžšαžΎαž™αž“αŸ’αžαž€αžΆαžšαž“αŸαŸ‡ αž’αŸ’αž“αž€αž€αŸαž’αžΆαž… 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 (αž…αŸ†αž“αž½αž“αž“αžΆαž™αž€αžŠαŸ’αž‹αžΆαž“) αžŠαŸ„αž™αž˜αž·αž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŸαŸ†αžŽαž½αžš αž¬αž”αž“αŸ’αžαŸ‚αž˜αž‚αž“αŸ’αž›αžΉαŸ‡αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„ αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž’αŸ’αž“αž€αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž‚αž·αžαž’αŸ†αž–αžΈαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αž•αŸ’αžαž»αŸ†αžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΎαž“αŸ„αŸ‡αž‘αŸαŸ” αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž’αžΆαž…αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αžΆαž“αž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž—αŸ’αž›αžΆαž˜αŸ— αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžœαžΆαž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡αŸ” αž˜αž“αž»αžŸαŸ’αžŸαžαŸ’αž›αŸ‡αž”αž„αŸ’αž€αžΎαžαžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž€αž·αž…αŸ’αž…αž€αžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αž“αžΉαž„αžŠαŸƒαŸ” αž–αž½αž€αž‚αŸαž˜αž·αž“αž™αž›αŸ‹αž’αŸ†αž–αžΈαž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ αž“αž·αž„αž—αžΆαž–αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ αž¬αž•αŸ‚αž“αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž· αž¬αž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž€αžΆαžšαž…αžΌαž›αžšαž½αž˜ αž¬αž’αžΆαžαž»αž•αŸ’αžŸαŸ†αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αžΎαž™αŸ” αž˜αž“αž»αžŸαŸ’αžŸαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„ αž¬αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ” αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžαŸ‹αžαŸ’αžšαžΆαžŸαŸ†αžŽαž½αžšαžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αžΌαžšαŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€αžŠαŸαžœαŸ‚αž„αž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αžƒαžΎαž‰ αž“αŸ„αŸ‡αž˜αž“αž»αžŸαŸ’αžŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αž (αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž“αŸαŸ‡ - αžŸαŸ†αžαžΆαž“αŸ‹ DBA) αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž”αžΎαž€ MATERIALIZED αž›αžΎαž˜αž»αžαž„αžΆαžšαž€αž˜αŸ’αžšαž·αžαž˜αž’αŸ’αž™αž˜αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ” αžœαžΆαž’αŸ’αžœαžΎαž±αŸ’αž™αž€αžΆαžšαžαžαž™αžΊαžαž”αž“αŸ’αžαž·αž… (αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαžœαžΆαž‘αžΆαž˜αž‘αžΆαžšαž±αŸ’αž™αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžœαžΆαž›αž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš) αŸ” αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ‚αžŸαŸ†αžŽαž½αžšαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„αž“αŸ„αŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸαž˜αžΆαž“αž˜αž»αžαž„αžΆαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž”αŸ’αžšαžΎαž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αž•αž„αžŠαŸ‚αžšαŸ” αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžαžΆαžαžΎαž˜αž»αžαž„αžΆαžšαž˜αž½αž™αžŽαžΆαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž‚αžΊαž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŽαžΆαžŸαŸ‹αŸ” αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŸαŸ†αžαžΆαž“αŸ‹αž–αžΈαžšαŸ– αž…αŸ†αž“αž½αž“αž“αŸƒαžαž˜αŸ’αž›αŸƒαž”αž‰αŸ’αž…αžΌαž›αžŠαŸ‚αž›αž’αžΆαž…αž’αŸ’αžœαžΎαž”αžΆαž“ (αž“αŸαŸ‡αž‡αžΆαž…αŸ†αž“αž½αž“αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαž“αžΉαž„αž“αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆ) αž“αž·αž„αžαžΆαžαžΎαžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž”αŸ’αžšαžΎαž‰αžΉαž€αž‰αžΆαž”αŸ‹αž”αŸ‰αž»αžŽαŸ’αžŽαžΆαž€αŸ’αž“αž»αž„αž˜αž»αžαž„αžΆαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ”

αž’αžΆαžŽαžΆαž‘αžΌαž€

DBMSs αž–αžΆαžŽαž·αž‡αŸ’αž‡αž€αž˜αŸ’αž˜αž‘αŸ†αž“αžΎαž”αž˜αžΆαž“αž™αž“αŸ’αžαž€αžΆαžšαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαŸ– MATERIALIZED View with 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 αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžαžΆαžšαžΆαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ†αž–αžΉαž„αžαžΆαž“αžΉαž„αž˜αžΆαž“αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αŸƒαž€αžΆαžšαž”αž‰αŸ’αž…αžΌαž›/αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹-αž•αŸ’αž‘αž»αž€ αž€αžΆαžšαž›αž»αž” αž“αž·αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ”

  • αž˜αžΆαž“αžαŸ‚ 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 αž”αŸ’αžšαž—αŸαž‘αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž‡αž½αžšαžˆαžšαžαž˜αŸ’αžšαž„αž“αŸƒαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„ αžŸαŸ†αžŽαž»αŸ†αžαž½αž’αž€αŸ’αžŸαžšαž“αŸƒαž‚αŸαž αž‘αŸ†αž–αŸαžšαž˜αŸ αž“αž·αž„αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αžαŸ’αžšαžΌαžœαžαŸ‚αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ”
  • αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž˜αžΆαž“αž˜αž½αž™αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αžαžΆαž„αž€αŸ’αžšαŸ„αž˜ αž“αŸ„αŸ‡αž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαŸ’αžšαžŸαŸ‹αž›αžΏαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαžαŸ‚αž›αžΎαž€αžΆαžšαž”αž‰αŸ’αž…αžΌαž› DML αž’αž˜αŸ’αž˜αžαžΆ αž“αž·αž„αž€αžΆαžšαž•αŸ’αž‘αž»αž€αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”
    • αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž‡αžΆαž˜αž½αž™ MIN or MAX αžŸαžšαž»αž”
    • αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αžŠαŸ‚αž›αž˜αžΆαž“ SUM(expr) αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‘αŸ COUNT(expr)
    • αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“ COUNT(*)

    αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–β€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αž›αž€αŸ’αžαžŽαŸˆβ€‹αž‡αžΆβ€‹αžœαžαŸ’αžαž»αž’αžΆαžαž»β€‹αž”αŸ‚αž”β€‹αž“αŸαŸ‡β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž‚αŸβ€‹αž αŸ…β€‹αžαžΆβ€‹αž‡αžΆβ€‹αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–β€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αžαŸ‚β€‹αž€αžΆαžšβ€‹αž”αž‰αŸ’αž…αžΌαž›αŸ”

  • αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž‡αžΆαž˜αž½αž™ MAX or MIN αž’αžΆαž…β€‹αž’αŸ’αžœαžΎβ€‹αž±αŸ’αž™β€‹αžŸαŸ’αžšαžŸαŸ‹β€‹αž”αžΆαž“β€‹αž›αžΏαž“β€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž–αžΈβ€‹αž€αžΆαžšβ€‹αž›αž»αž”β€‹αž¬β€‹αžŸαŸαž…αž€αŸ’αžŠαžΈβ€‹αžαŸ’αž›αŸ‚αž„αž€αžΆαžšαžŽαŸ DML αž…αž˜αŸ’αžšαž»αŸ‡β€‹αž”αŸ’αžšαžŸαž·αž“β€‹αž”αžΎβ€‹αžœαžΆβ€‹αž˜αž·αž“β€‹αž˜αžΆαž“ WHERE αžƒαŸ’αž›αžΆαŸ”
    αž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαŸ’αžšαžŸαŸ‹αž›αžΏαž“αž’αžαž·αž”αžšαž˜αžΆ/αž“αžΆαž‘αžΈαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž›αž»αž” ឬ DML αž…αž˜αŸ’αžšαž»αŸ‡αž˜αž·αž“αž˜αžΆαž“αž₯αžšαž·αž™αžΆαž”αžαžŠαžΌαž…αž‚αŸ’αž“αžΆαž‘αŸ…αž“αžΉαž„αž€αžšαžŽαžΈαž”αž‰αŸ’αž…αžΌαž›αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹αŸ” αžœαžΆαž›αž»αž” αž“αž·αž„αž‚αžŽαž“αžΆαž‘αžΎαž„αžœαž·αž‰αž“αžΌαžœαžαž˜αŸ’αž›αŸƒαž’αžαž·αž”αžšαž˜αžΆ/αž“αžΆαž‘αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ’αžšαž»αž˜αžŠαŸ‚αž›αžšαž„αž•αž›αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αŸ” αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžŠαžΉαž„αž–αžΈαž•αž›αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžšαž”αžŸαŸ‹αžœαžΆαŸ”
  • αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‡αžΆαžŸαž˜αŸ’αž—αžΆαžšαŸˆαžŠαŸ‚αž›αž˜αžΆαž“αž‘αžŸαŸ’αžŸαž“αŸˆαžŠαŸ‚αž›αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡ αž¬αžŸαŸ†αžŽαž½αžšαžšαž„αž“αŸ…αž€αŸ’αž“αž»αž„ FROM αž”αŸ’αžšαž™αŸ„αž‚αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαŸ’αžšαžŸαŸ‹αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸ αž•αŸ’αžαž›αŸ‹αž€αžΆαžšαž˜αžΎαž›αžƒαžΎαž‰αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž–αŸαžαŸŒαž˜αžΆαž“β€‹αž’αŸ†αž–αžΈβ€‹αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–β€‹αžŽαžΆβ€‹αžŠαŸ‚αž›β€‹αž“αžΉαž„β€‹αž”αž‰αŸ’αž…αžΌαž›β€‹αž…αžΌαž›β€‹αž‚αŸ’αž“αžΆ αžŸαžΌαž˜αž˜αžΎαž› Oracle Database 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) αžŠαžΌαž…αž€αŸ’αž“αž»αž„αž§αž‘αžΆαž αžšαžŽαŸαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

    αž”αž„αŸ’αž€αžΎαžαž‘αž·αžŠαŸ’αž‹αž—αžΆαž– view_with_unionall AS (SELECT c.rowid crid, c.cust_id, 2 umarker αž–αžΈαž’αžαž·αžαž·αž‡αž“ c WHERE c.cust_last_name = 'Smith' UNION ALL SELECT c.rowid crid, c.cust_id, 3 umarker αž–αžΈαž’αžαž·αžαž·αž‡αž“ c WHERE c.custname 'αž…αžΌαž“'); αž”αž„αŸ’αž€αžΎαž MATERIALIZED αž˜αžΎαž› αž‘αž·αžŠαŸ’αž‹αž—αžΆαž– unionall_inside_view_mv αž”αž„αŸ’αž αžΆαž‰ αž‘αžΎαž„ αž›αžΏαž“ តអម αžαž˜αŸ’αžšαžΌαžœ αž€αžΆαžš αž‡αžΆ αž‡αž˜αŸ’αžšαžΎαžŸ * αž–αžΈ view_with_unionall;
    

    αž…αŸ†αžŽαžΆαŸ†αžαžΆαž‘αž·αžŠαŸ’αž‹αž—αžΆαž– view_with_unionall αž”αŸ†αž–αŸαž‰αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαŸ’αžšαžŸαŸ‹αž›αžΏαž“αŸ”

  • αž”αŸ’αž›αž»αž€αžŸαŸ†αžŽαž½αžšαž“αžΈαž˜αž½αž™αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„ UNION ALL αžŸαŸ†αžŽαž½αžšαžαŸ’αžšαžΌαžœαžαŸ‚αž”αŸ†αž–αŸαž‰αžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž“αŸƒαž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αžŠαŸ‚αž›αž’αžΆαž…αž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαŸ’αžšαžŸαŸ‹αž”αžΆαž“αž†αžΆαž”αŸ‹αžšαž αŸαžŸαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αžšαž½αž˜ αž¬αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžœαž·αž‰αž”αžΆαž“αž†αžΆαž”αŸ‹αžšαž αŸαžŸαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αŸ”

    αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αžŠαŸ‚αž›αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αžŸαŸ’αžšαž”αžαŸ’αžšαžΌαžœαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž“αŸ…αž›αžΎαžαžΆαžšαžΆαž„αžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž—αŸαž‘αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž“αŸƒαž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžœαž·αž‰αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαŸ”
    αž…αŸ†αžŽαžΆαŸ†αžαžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ Oracle αž€αŸαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž€αžšαžŽαžΈαž–αž·αžŸαŸαžŸαž“αŸƒαž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž‡αžΆαžαžΆαžšαžΆαž„αžαŸ‚αž˜αž½αž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αžαŸ‚αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ ROWID αž‡αž½αžšαžˆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž“αŸ…αž€αŸ’αž“αž»αž„ SELECT αž”αž‰αŸ’αž‡αžΈ αž“αž·αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αŸ” αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ†αžŽαž½αžšαž€αŸ†αžŽαžαŸ‹αž‘αž·αžŠαŸ’αž‹αž—αžΆαž– view_with_unionall.

  • αž“αŸαŸ‡ SELECT αž”αž‰αŸ’αž‡αžΈαž“αŸƒαžŸαŸ†αžŽαž½αžšαž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαžαŸ‚αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž› a UNION ALL αžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹, αž“αž·αž„ UNION ALL αž‡αž½αžšβ€‹αžˆαžšβ€‹αžαŸ’αžšαžΌαžœβ€‹αžαŸ‚β€‹αž˜αžΆαž“β€‹αž›αŸαžβ€‹αžαŸαžšβ€‹αžαž»αžŸβ€‹αž‚αŸ’αž“αžΆβ€‹αž¬β€‹αžαž˜αŸ’αž›αŸƒβ€‹αžαŸ’αžŸαŸ‚β€‹αž’αž€αŸ’αžŸαžšβ€‹αž€αŸ’αž“αž»αž„β€‹αž“αžΈαž˜αž½αž™αŸ— UNION ALL αžŸαžΆαžαžΆαŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž‡αž½αžšαžˆαžšαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžαŸ’αžšαžΌαžœαžαŸ‚αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αžΈαžαžΆαŸ†αž„αž’αž˜αŸ’αž˜αžαžΆαžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„ SELECT αž”αž‰αŸ’αž‡αžΈαž“αŸƒαž”αŸ’αž›αž»αž€αžŸαŸ†αžŽαž½αžšαž“αžΈαž˜αž½αž™αŸ—αŸ” αžŸαžΌαž˜αž˜αžΎαž› "UNION ALL Marker αž“αž·αž„ Query RewriteΒ» αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜ UNION ALL αžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αŸ”
  • αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αžαžΆαž„αž€αŸ’αžšαŸ… αž€αžΆαžšαž”αž‰αŸ’αž…αžΌαž›αžαŸ‚αžŸαŸ†αžŽαž½αžšαž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αžšαž½αž˜ αž“αž·αž„αžαžΆαžšαžΆαž„αž–αžΈαž…αž˜αŸ’αž„αžΆαž™αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž‡αžΆαž˜αž½αž™ UNION ALL. αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž…αŸ†αžŽαžΆαŸ†αžαžΆαž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αž˜αŸ’αž›αž„ αžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž…αžΌαž›αžšαž½αž˜ αž¬αžŸαžšαž»αž” αž’αžΆαž…αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαŸ’αžšαžŸαŸ‹αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαž“αŸ…αž–αŸαž›αžŠαŸ‚αž› UNION ALL αž¬αžαžΆαžšαžΆαž„αž–αžΈαž…αž˜αŸ’αž„αžΆαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαŸ”
  • αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž—αžΆαž–αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαžαŸ’αžšαžΌαžœαžαŸ‚αž€αŸ†αžŽαžαŸ‹αž‘αŸ… 9.2.0 αž¬αžαŸ’αž–αžŸαŸ‹αž‡αžΆαž„αž“αŸαŸ‡ αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αžŠαŸ‚αž›αž’αžΆαž…αž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαŸ’αžšαžŸαŸ‹αž”αžΆαž“αž›αžΏαž“αž‡αžΆαž˜αž½αž™ UNION ALL.

αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž…αž„αŸ‹αž’αŸ’αžœαžΎαž±αŸ’αž™αž’αŸ’αž“αž€αž‚αžΆαŸ†αž‘αŸ’αžš Oracle αžαž€αž…αž·αžαŸ’αžαž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαžšαžœαž·αž“αž·αž…αŸ’αž†αŸαž™αžŠαŸ„αž™αž”αž‰αŸ’αž‡αžΈαž“αŸƒαž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ αžœαžΆαž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαžαžΆαž™αž“αŸ’αžαž€αžΆαžšαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž˜αž·αž“αž˜αŸ‚αž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž‘αžΌαž‘αŸ…αž“αŸ„αŸ‡αž‘αŸ αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‚αŸ†αžšαžΌαž˜αž½αž™αž…αŸ†αž“αž½αž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŠαŸ„αž™αž”αŸ’αžšαž‡αžΆαž‡αž“αž₯αžŽαŸ’αžŒαžΆαžšαžΆαž”αŸ‹αž–αžΆαž“αŸ‹αž“αžΆαž€αŸ‹ αžŠαŸ‚αž›αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αž€αžΆαžŸαž±αŸ’αž™ αžŸαžšαžŸαŸαžšαžŸαžΆαžαžΆαžšαž”αžŸαŸ‹αžαŸ’αž›αž½αž“ αž αžΎαž™αž–αž½αž€αž‚αŸαž˜αŸ’αž“αžΆαž€αŸ‹αŸ—αž”αžΆαž“αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž‚αžΆαžαŸ‹αž’αžΆαž…αž’αŸ’αžœαžΎαž”αžΆαž“αŸ” αž€αžΆαžšαž”αŸ’αžšαžΎαž™αž“αŸ’αžαž€αžΆαžšαž“αŸαŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαž‚αžΊαžŠαžΌαž…αž‡αžΆαž€αžΆαžšαžŠαžΎαžšαž€αžΆαžαŸ‹αžœαžΆαž›αž˜αžΈαž“αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž‘αž‘αž½αž›αž”αžΆαž“αž’αžŽαŸ’αžαžΌαž„αžšαŸ‰αŸ‚αž“αŸ…αž–αŸαž›αžŽαžΆαž€αŸαž”αžΆαž“αžŠαŸ„αž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž…αž»αž…αž›αžΎαž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αžŠαŸ‚αž›αž˜αž·αž“αž…αŸ’αž”αžΆαžŸαŸ‹αž˜αž½αž™αŸ” αžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸαž‡αžΆαžŸαŸ†αžŽαž½αžšαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž˜αž½αž™αžŠαŸ‚αžš αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž αž½αžŸαž–αžΈαžœαž·αžŸαžΆαž›αž—αžΆαž–αž“αŸƒαž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αŸ”

αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“ Microsoft SQL αž˜αž½αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž”αž˜αŸ’αžšαžΎ

αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜

αž”αž“αŸ’αžαŸ‚αž˜αž–αžΈαž›αžΎαž‡αž˜αŸ’αžšαžΎαžŸ SET αž“αž·αž„αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž˜αž»αžαž„αžΆαžšαž€αŸ†αžŽαžαŸ‹ αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αžαŸ’αžšαžΌαžœαžαŸ‚αž”αŸ†αž–αŸαž‰αŸ–

  • αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ‚αž›αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž· CREATE INDEX αžαŸ’αžšαžΌαžœαžαŸ‚αž‡αžΆαž˜αŸ’αž…αžΆαžŸαŸ‹αž“αŸƒαž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αŸ”
  • αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸ IGNORE_DUP_KEY αž‡αž˜αŸ’αžšαžΎαžŸαžαŸ’αžšαžΌαžœαžαŸ‚αž€αŸ†αžŽαžαŸ‹αž‘αŸ…αž”αž·αž‘ (αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜)αŸ”
  • αžαžΆαžšαžΆαž„αžαŸ’αžšαžΌαžœαžαŸ‚αž™αŸ„αž„αžŠαŸ„αž™αžˆαŸ’αž˜αŸ„αŸ‡αž–αžΈαžšαž•αŸ’αž“αŸ‚αž€ αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸ.αžˆαŸ’αž˜αŸ„αŸ‡αžαžΆαžšαžΆαž„ αž“αŸ…αž€αŸ’αž“αž»αž„αž“αž·αž™αž˜αž“αŸαž™αž“αŸƒαž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αŸ”
  • αž˜αž»αžαž„αžΆαžšβ€‹αž€αŸ†αžŽαžαŸ‹β€‹αžŠαŸ„αž™β€‹αž’αŸ’αž“αž€β€‹αž”αŸ’αžšαžΎβ€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αž™αŸ„αž„β€‹αž€αŸ’αž“αž»αž„β€‹αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–β€‹αžαŸ’αžšαžΌαžœβ€‹αžαŸ‚β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αž‘αžΎαž„β€‹αžŠαŸ„αž™β€‹αž€αžΆαžšβ€‹αž”αŸ’αžšαžΎβ€‹ WITH SCHEMABINDING αž‡αž˜αŸ’αžšαžΎαžŸαŸ”
  • αž˜αž»αžαž„αžΆαžšβ€‹αž€αŸ†αžŽαžαŸ‹β€‹αžŠαŸ„αž™β€‹αž’αŸ’αž“αž€β€‹αž”αŸ’αžšαžΎβ€‹αžŽαžΆβ€‹αž˜αž½αž™β€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αž™αŸ„αž„β€‹αž€αŸ’αž“αž»αž„β€‹αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–β€‹αžαŸ’αžšαžΌαžœβ€‹αžαŸ‚β€‹αž™αŸ„αž„β€‹αžαžΆαž˜β€‹αžˆαŸ’αž˜αŸ„αŸ‡β€‹αž–αžΈαžšβ€‹αž•αŸ’αž“αŸ‚αž€ ..
  • αž›αž€αŸ’αžαžŽαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž“αŸƒαž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸƒαž˜αž»αžαž„αžΆαžšαž€αŸ†αžŽαžαŸ‹αžŠαŸ„αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαŸ’αžšαžΌαžœαžαŸ‚αž‡αžΆ NO SQLαž“αž·αž„αž‘αŸ’αžšαž–αŸ’αž™αžŸαž˜αŸ’αž”αžαŸ’αžαž·αž…αžΌαž›αž”αŸ’αžšαžΎαžαžΆαž„αž€αŸ’αžšαŸ…αžαŸ’αžšαžΌαžœαžαŸ‚αž‡αžΆ NO.
  • αž˜αž»αžαž„αžΆαžšαž–αŸαž›αžšαžαŸ‹αž—αžΆαžŸαžΆαž‘αžΌαž‘αŸ… (CLR) αž’αžΆαž…αž”αž„αŸ’αž αžΆαž‰αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž‡αžΈαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž“αŸƒαž‘αž·αžŠαŸ’αž‹αž—αžΆαž– αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αž’αžΆαž…αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒαž“αž·αž™αž˜αž“αŸαž™αž“αŸƒαž‚αž“αŸ’αž›αžΉαŸ‡αž›αž·αž”αž·αž€αŸ’αžšαž˜αž…αž„αŸ’αž€αŸ„αž˜αž“αŸ„αŸ‡αž‘αŸαŸ” αž˜αž»αžαž„αžΆαžš CLR αž˜αž·αž“αž’αžΆαž…αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆ WHERE αž“αŸƒαž‘αž·αžŠαŸ’αž‹αž—αžΆαž– αž¬αžƒαŸ’αž›αžΆ ON αž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš JOIN αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž“αŸ„αŸ‡αž‘αŸαŸ”
  • αž˜αž»αžαž„αžΆαžš CLR αž“αž·αž„αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸƒαž”αŸ’αžšαž—αŸαž‘αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αžŠαŸ„αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ CLR αžŠαŸ‚αž›αž”αŸ’αžšαžΎαž€αŸ’αž“αž»αž„αž“αž·αž™αž˜αž“αŸαž™αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αžαŸ’αžšαžΌαžœαžαŸ‚αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž·αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžŠαžΌαž…αž”αž„αŸ’αž αžΆαž‰αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ”

    αž’αž…αž›αž“αž‘αŸ’αžšαž–αŸ’αž™
    αž…αŸ†αžŽαžΆαŸ†

    DETERMINISTIC = αž–αž·αž
    αžαŸ’αžšαžΌαžœαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸαž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆαž‡αžΆαž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆαž“αŸƒαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžš Microsoft .NET Framework αŸ”

    PRECISE = αž–αž·αž
    αžαŸ’αžšαžΌαžœαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸαž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆαž‡αžΆαž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆαž“αŸƒαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžš .NET FrameworkαŸ”

    αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™ = αž‚αŸ’αž˜αžΆαž“ SQL
    αž€αŸ†αžŽαžαŸ‹αžŠαŸ„αž™αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆ DataAccess αž‘αŸ… DataAccessKind.None αž“αž·αž„αž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆ SystemDataAccess αž‘αŸ… SystemDataAccessKind.None αŸ”

    αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαžαžΆαž„αž€αŸ’αžšαŸ… = αž‘αŸαŸ”
    αž›αž€αŸ’αžαžŽαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž“αŸαŸ‡αž€αŸ†αžŽαžαŸ‹αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž‘αŸ…αž‡αžΆ NO αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αž˜αŸ’αž›αžΆαž”αŸ‹ CLR αŸ”

  • αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αžαŸ’αžšαžΌαžœαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžŠαŸ„αž™αž”αŸ’αžšαžΎ 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)

    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)

αžαžΆαžšαžΆαž„αžŠαŸ‚αž›αž‘αž‘αž½αž›αž”αžΆαž“ (αž€αŸ†αžŽαžαŸ‹αžŠαŸ„αž™αž”αž‰αŸ’αž‡αžΆαž€αŸ‹ αž€ 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 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž‡αžΆ "αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αž" αŸ” αž˜αžΆαž“αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αž˜αž½αž™αž“αŸ…αžαžΆαž„αž€αŸ’αž“αž»αž„αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαžŸαŸ†αžŽαž½αžšαŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž”αŸ’αžšαž—αž–. αž αžΎαž™β€‹αž˜αž·αž“β€‹αž˜αŸ‚αž“β€‹αž‚αŸ’αžšαžΆαž“αŸ‹β€‹αžαŸ‚β€‹αž‡αžΆβ€‹αžŸαŸ†αžŽαž»αŸ†β€‹αžŠαŸβ€‹αž’αŸ†β€‹αž˜αž½αž™β€‹αž“αŸƒβ€‹αž€αžΆαžšβ€‹αžŸαŸ’αžšαžΆαžœαž‡αŸ’αžšαžΆαžœβ€‹αž‡αžΆαž˜αž½αž™β€‹αž“αžΉαž„ ifs αž˜αž½αž™β€‹αž€αŸ’αžšαž»αž˜β€‹αž“αŸ„αŸ‡β€‹αž‘αŸαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡β€‹αž”αžΎβ€‹αž’αŸ’αž“αž€β€‹αž˜αžΆαž“β€‹αž–αŸαž›β€‹αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“β€‹αžαŸ‚β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αžŸαž·αž€αŸ’αžŸαžΆ αž’αŸ’αž“αž€β€‹αž’αžΆαž…β€‹αž–αŸ’αž™αžΆαž™αžΆαž˜β€‹αž™αž›αŸ‹β€‹αž–αžΈβ€‹αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αŸ”

αžαžΎαžœαžΆαž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‘αŸ? αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αžŽαžΆαžŸαŸ‹αŸ” αž‡αžΆαž’αž€αž»αžŸαž› αž“αŸαŸ‡αž–αž·αž”αžΆαž€αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŽαžΆαžŸαŸ‹αŸ” αžαŸ’αž‰αž»αŸ†αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž’αžΆαž…αž“αž·αž™αžΆαž™αž”αžΆαž“αžαžΆ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž–αž·αž…αžΆαžšαžŽαžΆαžŸαŸ†αžŽαž½αžšαžšαžΆαž”αŸ‹αž–αžΆαž“αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αŸ†αŸ— αž“αŸ„αŸ‡αž‡αžΆαž˜αž’αŸ’αž™αž˜αžœαžΆαž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‡αžΆαž„αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŠαŸαž›αŸ’αž’αŸ” αž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ SQL αžŠαŸαž›αŸ’αž’αž˜αŸ’αž“αžΆαž€αŸ‹αž’αžΆαž…αžŸαžšαžŸαŸαžšαžŸαŸ†αžŽαž½αžšαžŽαžΆαž˜αž½αž™αž€αžΆαž“αŸ‹αžαŸ‚αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž– αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŸαŸ†αžŽαž½αžšαž˜αž½αž™αž–αžΆαž“αŸ‹ αž‚αžΆαžαŸ‹αž“αžΉαž„αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž›αžΎαž€αž‘αžΉαž€αž…αž·αžαŸ’αž αž¬αž–αŸαž›αžœαŸαž›αžΆαžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžœαžΆαž“αŸ„αŸ‡αž‘αŸαŸ” αžšαžΏαž„αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹αžŠαŸ‚αž›αž₯αž‘αžΌαžœαž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž’αžΆαž…αžŠαž€αžŸαŸ’αžšαž„αŸ‹αž‡αžΆαž—αžŸαŸ’αžαž»αžαžΆαž„αž“αŸƒαž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‚αžΊαžαžΆαž‚αž˜αŸ’αžšαŸ„αž„αž‡αžΆαž…αŸ’αžšαžΎαž“αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž›αžΎ DBMS αž“αŸαŸ‡αŸ” αž”αŸ’αžšαž–αŸαž“αŸ’αž’ ERPαžŠαŸ‚αž›αž˜αžΆαž“αž˜αž»αžαž„αžΆαžš MATERIALIZED αžαž»αžŸαŸ—αž‚αŸ’αž“αžΆαžšαžΆαž”αŸ‹αž–αžΆαž“αŸ‹ αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαžΆαž”αŸ‹αž–αžΆαž“αŸ‹αž“αžΆαž€αŸ‹ αž“αž·αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ terabyte αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαžšαžΆαž”αŸ‹αžšαž™αž›αžΆαž“ αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΈαžšαž’αž˜αŸ’αž˜αžαžΆαŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž’αžΆαž…αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›/αž”αžŠαž·αžŸαŸαž’αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αžŠαŸ„αž™αž€αžΆαžšαž‘αžΆαž‰αž™αž€ αžœαŸαž‘αž·αž€αžΆ αž“αž·αž„ PostgreSQL, αž”αžΎαž€ αž€αžαŸ‹αžαŸ’αžšαžΆαžŸαŸ†αžŽαž½αžš SQL αž αžΎαž™αž–αŸ’αž™αžΆαž™αžΆαž˜αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆ αž“αž·αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αžαžΆαž„αž€αŸ’αžšαŸ„αž˜ αžαŸ’αž‰αž»αŸ†αž€αŸαž“αžΉαž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αž›αžΎαž˜αž»αžαž„αžΆαžš αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αžœαž‚αŸ’αž‚αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αž“αž·αž„αž…αŸ’αžšαžΎαž“αž‘αŸ€αžαŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹