рдкрд┐рдЫрд▓реЗ рдореЗрдВ
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдпрд╣ рдЕрд╡рдзрд╛рд░рдгрд╛ рдЖрдкрдХреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд▓реЙрдЬрд┐рдХ рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд┐рдирд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдФрд░ рдкрдврд╝рдиреЗ рдХреЛ рдЬрд▓реНрджреА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдЗрд╕реА рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЖрдзреБрдирд┐рдХ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ DBMS (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, Oracle рдФрд░ Microsoft SQL рд╕рд░реНрд╡рд░) рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЬреЛ рдХрд┐рдпрд╛, рдЙрд╕реЗ рд╣рд▓реНрдХреЗ рдврдВрдЧ рд╕реЗ рдХрд╣реЗрдВ рддреЛ, рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рд╡рд┐рд╡рд░рдг
рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рдмреЗрд╣рддрд░ рд╕рдордЭ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд╡рд░рдг рд╢реБрд░реВ рдХрд░реВрдБрдЧрд╛ред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдореЗрдВ рдЙрд╕ рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рднрд╛рдЧреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд▓реМрдЯрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдЙрдирдореЗрдВ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЙрдирдХрд╛ рдХреБрд▓ рд╡реЗрддрди рд╣реЛрдЧрд╛ред
рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
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 рдореЗрдВ рдЗрд╕ рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдЗрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреА рд╣реЗ(рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛)рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рд╕рдВрдкреВрд░реНрдг рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╕реНрдХреИрди рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рднрд╛рдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдореВрд╣рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЪреБрдиреА рдЧрдИ рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдЫреЛрдЯреЗ (рд╣рдорд╛рд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╡рд┐рднрд╛рдЧреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдИ рдЕрдзрд┐рдХ рдХрд░реНрдордЪрд╛рд░реА рд╣реИрдВ) рдкреВрд░рдХ рднреА рд╣реЛрдВрдЧреЗ рдУ (рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рд▓реЙрдЧ рд╕рдВрдЦреНрдпрд╛) рдпрд╛ рд╣реЗ(рд╡рд┐рднрд╛рдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛) рд╕рдореВрд╣реАрдХрд░рдг рд╡рдЧреИрд░рд╣ рдХреЗ рд▓рд┐рдПред
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди DBMS рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдУрд╡рд░рд╣реЗрдб рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдЯрд┐рд▓рддрд╛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдмрджрд▓реЗрдЧреАред
рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдбреАрдмреАрдПрдордПрд╕ рдПрдХ рд╕рдмрдХреНрд╡реЗрд░реА рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ рдЬреЛ рд╡рд┐рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдореВрд▓реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдЧрд╛, рдФрд░ рдлрд┐рд░ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд╛рдЧ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЬреЙрдЗрди рдХрд░реЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП, рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╕рдордп, рдПрдХ рд╡рд┐рд╢реЗрд╖ MATERIALIZED рдорд╛рд░реНрдХрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдРрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝реАрд▓реНрдб рдмрдирд╛рдПрдЧрд╛ред рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдорд╛рди рдмрджрд▓рддреЗ рд╕рдордп, рдЙрд╕реА рд▓реЗрдирджреЗрди рдореЗрдВ рдлрд╝реАрд▓реНрдб рдХрд╛ рдорд╛рди рднреА рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░, рдкреВрд░реНрд╡-рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдлрд╝реАрд▓реНрдб рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рдПрдЧреАред
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЖрдк рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП MATERIALIZED рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЧрд┐рдирддреАрдХрд░реНрдордЪрд╛рд░реА ╨╕ рд╡реЗрддрдирдпреЛрдЧ, рдлрд┐рд░ рд╡рд┐рднрд╛рдЧреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рджреЛ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝реЗ рдЬрд╛рдПрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЙрдирдХрд╛ рдХреБрд▓ рд╡реЗрддрди рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрдЧрд╛ред рдЬрдм рднреА рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ, рдЙрдирдХреЗ рд╡реЗрддрди рдпрд╛ рд╡рд┐рднрд╛рдЧ рд╕рдВрдмрджреНрдзрддрд╛ рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛ред рдЙрдкрд░реЛрдХреНрдд рдХреНрд╡реЗрд░реА рдЗрди рдлрд╝реАрд▓реНрдб рддрдХ рд╕реАрдзреЗ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧреА рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рдПрдЧреА рд╣реЗ(рд╡рд┐рднрд╛рдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛).
рдкреНрд░рддрд┐рдмрдВрдз рдХреНрдпрд╛ рд╣реИрдВ? рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рдд: рдРрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЗрдирдкреБрдЯ рдорд╛рдиреЛрдВ рдХреА рдПрдХ рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдорд╛рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рдРрд╕реА рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдЬреЛ рдЗрд╕рдХреЗ рд╕рднреА рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реЛ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдирдВрдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рд╡рд╛рд▓реА рдХреЛрдИ рддрд╛рд▓рд┐рдХрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдЙрджрд╛рд╣рд░рдг:
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, рдкрд╛рд░реНрдЯрд┐рд╢рди, рд░рд┐рдХрд░реНрд╕рди рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд┐рдЫрд▓реЗ рдЖрд▓реЗрдЦ рдХреА рд╕рдорд╕реНрдпрд╛ 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;
рд╕рд┐рд╕реНрдЯрдо рд╕реНрд╡рдпрдВ рдЯрд╛рдЗрдк рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдЧрд╛ рдЧреНрд░рд╛рд╣рдХ, рдПрд╕реНрдЯреНрд░реЛ рдореЙрд▓ ╨╕ рдкреВрд░реНрдгрд╛рдВрдХ, рдЗрд╕рдореЗрдВ рджреЛ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝ рджреЗрдЧрд╛ рдФрд░ рдХрд┐рд╕реА рднреА рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рдЙрдирдореЗрдВ рдлрд╝реАрд▓реНрдб рдорд╛рди рдЕрдкрдбреЗрдЯ рдХрд░ рджреЗрдЧрд╛ред рдЬрдм рдЗрди рдлрд╝рдВрдХреНрд╢рдиреЛрдВ рдкрд░ рдЖрдЧреЗ рдХреЙрд▓ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдЙрдирдХреА рдЧрдгрдирд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдЧреА, рдмрд▓реНрдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝реАрд▓реНрдб рд╕реЗ рдорд╛рди рдкрдврд╝реЗ рдЬрд╛рдПрдВрдЧреЗред
рдЗрд╕ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рд░рд┐рдХрд░реНрд╕рди (рд╕реАрдЯреАрдИ) рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЙрди рд╕рдореВрд╣реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдмрдЪреНрдЪреЗ/рдЕрднрд┐рднрд╛рд╡рдХ рд╕рдВрдмрдВрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкреЗрдбрд╝ рдмрдирд╛рддреЗ рд╣реИрдВ (рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдХрд╛ рдЙрд╕рдХреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╕реЗ рдПрдХ рд▓рд┐рдВрдХ рд╣реЛрддрд╛ рд╣реИ):
parent = DATA Group (Group);
рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ, рд░рд┐рдХрд░реНрд╕рди рддрд░реНрдХ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
level (Group child, Group parent) = RECURSION 1l IF child IS Group AND parent == child
STEP 2l IF parent == parent($parent);
isParent (Group child, Group parent) = TRUE IF level(child, parent) MATERIALIZED;
рдЪреВрдВрдХрд┐ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рднрд╛рд╡рдХ рд╣реИ рднреМрддрд┐рдХреАрдХреГрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рджреЛ рдХреБрдВрдЬрд┐рдпреЛрдВ (рд╕рдореВрд╣реЛрдВ) рд╡рд╛рд▓реА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреА, рдЬрд┐рд╕рдореЗрдВ рдлрд╝реАрд▓реНрдб рдЕрднрд┐рднрд╛рд╡рдХ рд╣реИ рдпрд╣ рддрднреА рд╕рддреНрдп рд╣реЛрдЧрд╛ рдЬрдм рдкрд╣рд▓реА рдХреБрдВрдЬреА рджреВрд╕рд░реА рдХреА рд╕рдВрддрд╛рди рд╣реЛред рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреЗрдбрд╝ рдХреА рдФрд╕рдд рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдП рдЧрдП рд╕рдореВрд╣реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдирд┐рд╢реНрдЪрд┐рдд рд╕рдореВрд╣ рдХреЗ рд╡рдВрд╢рдЬреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЧрд┐рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
childrenCount (Group g) = GROUP SUM 1 IF isParent(Group child, g);
SQL рдХреНрд╡реЗрд░реА рдореЗрдВ рдХреЛрдИ CTE рдирд╣реАрдВ рд╣реЛрдЧрд╛. рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЧреНрд░реБрдк рдмрд╛рдп рд╣реЛрдЧрд╛ред
рдЗрд╕ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрд╕рд╛рдорд╛рдиреНрдп рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
CLASS Order '╨Ч╨░╨║╨░╨╖';
date '╨Ф╨░╤В╨░' = DATA DATE (Order);
CLASS OrderDetail '╨б╤В╤А╨╛╨║╨░ ╨╖╨░╨║╨░╨╖╨░';
order '╨Ч╨░╨║╨░╨╖' = DATA Order (OrderDetail);
date '╨Ф╨░╤В╨░' (OrderDetail d) = date(order(d)) MATERIALIZED INDEXED;
рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдбреЗрдЯрд╛ рдСрд░реНрдбрд░ рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рд╣реИ рдЙрд╕реЗ рдСрд░реНрдбрд░ рд▓рд╛рдЗрди рд╡рд╛рд▓реА рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рдЬрдм рдСрд░реНрдбрд░ рдХреА рддрд╛рд░реАрдЦ рдмрджрд▓рддреА рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓рд╛рдЗрди рдореЗрдВ рдЕрд╕рд╛рдорд╛рдиреНрдп рддрд╛рд░реАрдЦ рдХреА рдкреБрдирд░реНрдЧрдгрдирд╛ рдХрд░реЗрдЧрд╛ред
рд▓рд╛рдн
рдпрд╣ рдкреВрд░рд╛ рддрдВрддреНрд░ рдХрд┐рд╕ рд▓рд┐рдП рд╣реИ? рдХреНрд▓рд╛рд╕рд┐рдХ рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ, рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рджреЛрдмрд╛рд░рд╛ рд▓рд┐рдЦреЗ рдмрд┐рдирд╛, рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдпрд╛ рдбреАрдмреАрдП рдХреЗрд╡рд▓ рдЗрдВрдбреЗрдХреНрд╕ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ, рдЖрдВрдХрдбрд╝реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рдирд░ рдХреЛ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП (рдФрд░ рд╕рдВрдХреЗрдд рдХреЗрд╡рд▓ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ)ред рдЪрд╛рд╣реЗ рд╡реЗ рдХрд┐рддрдиреА рднреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд▓реЗрдВ, рд╡реЗ рд▓реЗрдЦ рдореЗрдВ рдкрд╣рд▓реА рдХреНрд╡реЗрд░реА рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ рд╣реЗ (рд╡рд┐рднрд╛рдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛) рдХреНрд╡реЗрд░реАрдЬрд╝ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдпрд╛ рдЯреНрд░рд┐рдЧрд░реНрд╕ рдЬреЛрдбрд╝реЗ рдмрд┐рдирд╛ред рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдпреЛрдЬрдирд╛ рдореЗрдВ, рд╡рд┐рдХрд╛рд╕ рдЪрд░рдг рдореЗрдВ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдХрд┐рд╕ рдПрдХрддреНрд░реАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рдм рддреБрд░рдВрдд, рд╕реАрдзреЗ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ. рдХреБрдЫ рд▓реЛрдЧ рд╕реАрдзреЗ рдХрд╛рд░реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рддрд░реНрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рди рддреЛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ рдЙрдирдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ, рди рд╣реА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ, рди рд╣реА рдЬреБрдбрд╝рдиреЗ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ, рди рд╣реА рдХрд┐рд╕реА рдЕрдиреНрдп рддрдХрдиреАрдХреА рдШрдЯрдХ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВред рдпреЗ рд▓реЛрдЧ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдмрд┐рдЬрдиреЗрд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╣реИрдВред рдлрд┐рд░, рдпрд╣ рд╕рдм рдкрд░реАрдХреНрд╖рдг рдпрд╛ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЪрд▓ рд░рд╣реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд▓реЙрдЧрд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред рдЬрдм рдПрдХ рд▓рдВрдмреА рдХреНрд╡реЗрд░реА рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рддреЛ рдЕрдиреНрдп рд▓реЛрдЧ (рдЕрдзрд┐рдХ рддрдХрдиреАрдХреА - рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдбреАрдмреАрдП) рдХреБрдЫ рдордзреНрдпрд╡рд░реНрддреА рдлрд╝рдВрдХреНрд╢рди рдкрд░ MATERIALIZED рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдереЛрдбрд╝реА рдзреАрдореА рд╣реЛ рдЬрд╛рддреА рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рд▓реЗрдирджреЗрди рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝реАрд▓реНрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рди рдХреЗрд╡рд▓ рдпрд╣ рдХреНрд╡реЗрд░реА рдХрд╛рдлреА рддреЗрдЬрд╝ рд╣реЛ рдЧрдИ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп рд╕рднреА рдХреНрд╡реЗрд░реАрдЬрд╝ рднреА рддреЗрдЬрд╝ рд╣реЛ рдЧрдИ рд╣реИрдВред рд╕рд╛рде рд╣реА, рдпрд╣ рддрдп рдХрд░рдирд╛ рдХрд┐ рдХрд┐рд╕ рдХрд╛рд░реНрдп рдХреЛ рдЕрдорд▓ рдореЗрдВ рд▓рд╛рдирд╛ рд╣реИ, рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЖрд╕рд╛рди рд╣реИред рджреЛ рдореБрдЦреНрдп рдкреИрд░рд╛рдореАрдЯрд░: рд╕рдВрднрд╛рд╡рд┐рдд рдЗрдирдкреБрдЯ рдорд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ (рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХрд┐рддрдиреЗ рд░рд┐рдХреЙрд░реНрдб рд╣реЛрдВрдЧреЗ), рдФрд░ рдХрд┐рддрдиреА рдмрд╛рд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдирд╛рд▓реЙрдЧ
рдЖрдзреБрдирд┐рдХ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ рд╕рдорд╛рди рддрдВрддреНрд░ рд╣реИрдВ: рдлрд╛рд╕реНрдЯ рд░рд┐рдлреНрд░реЗрд╢ (рдУрд░реЗрдХрд▓) рдФрд░ рдЕрдиреБрдХреНрд░рдорд┐рдд рд╡реНрдпреВ (рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░) рдХреЗ рд╕рд╛рде рднреМрддрд┐рдХреАрдХреГрдд рджреГрд╢реНрдпред PostgreSQL рдореЗрдВ, рднреМрддрд┐рдХреАрдХреГрдд рджреГрд╢реНрдп рдХреЛ рд▓реЗрдирджреЗрди рдореЗрдВ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдз рдкрд░ (рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдмрд╣реБрдд рд╕рдЦреНрдд рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рд╕рд╛рде), рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдХрд╛рдлреА рд╣рдж рддрдХ рд╕реАрдорд┐рдд рдХрд░ рджреЗрддреА рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рднреМрддрд┐рдХреАрдХрд░рдг рдХреЛ рдХреЗрд╡рд▓ рддрднреА рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдирд┐рдпрдорд┐рдд рджреГрд╢реНрдп рдмрдирд╛ рд▓рд┐рдпрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рдЖрдкрдХреЛ рдЗрд╕ рднреМрддрд┐рдХреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╡ рдирд┐рд░реНрдорд┐рдд рджреГрд╢реНрдп рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╢реЗрд╖ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдпрд╛ рд╕рдм рдХреБрдЫ рд╡реИрд╕реЗ рд╣реА рдЫреЛрдбрд╝ рджреЗрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдЕрдкреНрд░рднрд╛рд╡реА рд╣реЛрдЧрд╛ рдпрджрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рдкреВрд░реНрд╡-рдЧрдгрдирд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдХрдИ рдкреНрд░рд╢реНрди рд╣рдореЗрд╢рд╛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдкреБрдирд░реНрдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВред
рджреВрд╕рд░реЗ, рдЙрди рдкрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВ:
рдУрд░реЗрдХрд▓
5.3.8.4 рдлрд╛рд╕реНрдЯ рд░рд┐рдлреНрд░реЗрд╢ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рддрд┐рдмрдВрдз
рднреМрддрд┐рдХ рджреГрд╢реНрдп рдХреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреНрд╡реЗрд░реА рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рд╣реИ:
- рднреМрддрд┐рдХ рджреГрд╢реНрдп рдореЗрдВ рдЧреИрд░-рджреЛрд╣рд░рд╛рдИ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ
SYSDATE
рдФрд░ROWNUM
.- рднреМрддрд┐рдХ рджреГрд╢реНрдп рдореЗрдВ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
RAW
orLONG
RAW
рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдкреНрд░рдХрд╛рд░ред- рдЗрд╕рдореЗрдВ a рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛
SELECT
рд╕реВрдЪреА рд╕рдмрдХреНрд╡реЗрд░реА.- рдЗрд╕рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
RANK
рдореЗрдВ)SELECT
рдЦрдВрдбред- рдпрд╣ рдЙрд╕ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рдЬрд┐рд╕ рдкрд░ a
XMLIndex
рд╕реВрдЪрдХрд╛рдВрдХ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред- рдЗрд╕рдореЗрдВ a рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛
MODEL
рдЦрдВрдбред- рдЗрд╕рдореЗрдВ a рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛
HAVING
рдПрдХ рдЙрдк рдХреНрд╡реЗрд░реА рдХреЗ рд╕рд╛рде рдЦрдВрдб.- рдЗрд╕рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рдХреНрд╡реЗрд░реАрдЬрд╝ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреАрдВ
ANY
,ALL
рдпрд╛,NOT
EXISTS
.- рдЗрд╕рдореЗрдВ a рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛
[START WITH тАж] CONNECT BY
рдЦрдВрдбред- рдЗрд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдПрдХрд╛рдзрд┐рдХ рд╡рд┐рд╡рд░рдг рддрд╛рд▓рд┐рдХрд╛рдПрдБ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреАрдВред
ON
COMMIT
рднреМрддрд┐рдХ рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рджреВрд░рд╕реНрде рд╡рд┐рд╡рд░рдг рддрд╛рд▓рд┐рдХрд╛рдПрдБ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреАрдВред- рдиреЗрд╕реНрдЯреЗрдб рднреМрддрд┐рдХ рд╡рд┐рдЪрд╛рд░реЛрдВ рдореЗрдВ рдПрдХ рдЬреБрдбрд╝рд╛рд╡ рдпрд╛ рд╕рдореБрдЪреНрдЪрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
- рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдореВрд░реНрдд рд░реВрдк рджрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдПрдХ рдХреЗ рд╕рд╛рде рдореВрд░реНрдд рд░реВрдк рджрд┐рдпрд╛ рдЧрдпрд╛
GROUP
BY
рдЦрдВрдб рд╕реВрдЪрдХрд╛рдВрдХ-рд╕рдВрдЧрдард┐рдд рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдЪрдпрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред5.3.8.5 рдХреЗрд╡рд▓ рдЬреЙрдЗрди рдХреЗ рд╕рд╛рде рднреМрддрд┐рдХ рджреГрд╢реНрдпреЛрдВ рдкрд░ рдлрд╛рд╕реНрдЯ рд░рд┐рдлреНрд░реЗрд╢ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз
рдХреЗрд╡рд▓ рдЬреЙрдЗрди рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдПрдЧреНрд░реАрдЧреЗрдЯ рд╡рд╛рд▓реЗ рднреМрддрд┐рдХ рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдкрд░ рддреЗрдЬреА рд╕реЗ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВ:
- рд╕реЗ рд╕рднреА рдкреНрд░рддрд┐рдмрдВрдз
рдлрд╛рд╕реНрдЯ рд░рд┐рдлреНрд░реЗрд╢ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рддрд┐рдмрдВрдз "ред- рдЙрдирдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛
GROUP
BY
рдЦрдВрдб рдпрд╛ рд╕рдореБрдЪреНрдЪрдп.- рд╕рднреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ
FROM
рд╕реВрдЪреА рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПSELECT
рдХреНрд╡реЗрд░реА рдХреА рд╕реВрдЪреА.- рд╕рднреА рдЖрдзрд╛рд░ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд░реЛрд╡рд┐рдбреНрд╕ рдХреЗ рд╕рд╛рде рднреМрддрд┐рдХреАрдХреГрдд рджреГрд╢реНрдп рд▓реЙрдЧ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП
FROM
рдХреНрд╡реЗрд░реА рдХреА рд╕реВрдЪреА.- рдЖрдк рд╕рд░рд▓ рдЬреЛрдбрд╝ рд╡рд╛рд▓реА рдХрдИ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рдПрдХ рддреЗрдЬрд╝ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рднреМрддрд┐рдХ рджреГрд╢реНрдп рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЙрд▓рдо рд╢рд╛рдорд┐рд▓ рд╣реИ
SELECT
рдмрдпрд╛рдиредрд╕рд╛рде рд╣реА, рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреА рдЧрдИ рддрд╛рдЬрд╝рд╛ рд╡рд┐рдзрд┐ рдЗрд╖реНрдЯрддрдо рд░реВрдк рд╕реЗ рдХреБрд╢рд▓ рдирд╣реАрдВ рд╣реЛрдЧреА рдпрджрд┐:
- рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреНрд╡реЗрд░реА рдПрдХ рдмрд╛рд╣рд░реА рдЬреБрдбрд╝рд╛рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рдЬреЛ рдЖрдВрддрд░рд┐рдХ рдЬреБрдбрд╝рд╛рд╡ рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреА рд╣реИред рдпрджрд┐ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреНрд╡реЗрд░реА рдореЗрдВ рдРрд╕рд╛ рдЬреБрдбрд╝рд╛рд╡ рд╢рд╛рдорд┐рд▓ рд╣реИ, рддреЛ рдЖрдВрддрд░рд┐рдХ рдЬреБрдбрд╝рд╛рд╡ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреНрд╡реЗрд░реА рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
- RSI
SELECT
рднреМрддрд┐рдХ рджреГрд╢реНрдп рдХреА рд╕реВрдЪреА рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕реНрддрдВрднреЛрдВ рдкрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред5.3.8.6 рд╕рдореБрдЪреНрдЪрдп рдХреЗ рд╕рд╛рде рднреМрддрд┐рдХ рджреГрд╢реНрдпреЛрдВ рдкрд░ рдлрд╛рд╕реНрдЯ рд░рд┐рдлреНрд░реЗрд╢ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз
рд╕рдореБрдЪреНрдЪрдп рдпрд╛ рдЬреБрдбрд╝рд╛рд╡ рдХреЗ рд╕рд╛рде рднреМрддрд┐рдХ рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдкрд░ рддреЗрдЬреА рд╕реЗ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВ:
- рд╕реЗ рд╕рднреА рдкреНрд░рддрд┐рдмрдВрдз
рдлрд╛рд╕реНрдЯ рд░рд┐рдлреНрд░реЗрд╢ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рддрд┐рдмрдВрдз "редрджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд╛рд╕реНрдЯ рд░рд┐рдлреНрд░реЗрд╢ рд╕рдорд░реНрдерд┐рдд рд╣реИ
ON
COMMIT
рдФрд░ON
DEMAND
рднреМрддрд┐рдХ рд╡рд┐рдЪрд╛рд░, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рддрд┐рдмрдВрдз рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ:
- рднреМрддрд┐рдХ рджреГрд╢реНрдп рдореЗрдВ рд╕рднреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рднреМрддрд┐рдХ рджреГрд╢реНрдп рд▓реЙрдЧ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рдФрд░ рднреМрддрд┐рдХ рджреГрд╢реНрдп рд▓реЙрдЧ рдореЗрдВ:
- рднреМрддрд┐рдХ рджреГрд╢реНрдп рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд╕рднреА рдХреЙрд▓рдо рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред
- рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
ROWID
рдФрд░INCLUDING
NEW
VALUES
.- рд╡рд┐рд╡рд░рдг рджреЗрдВ
SEQUENCE
рдпрджрд┐ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЗрдиреНрд╕рд░реНрдЯ/рдбрд╛рдпрд░реЗрдХреНрдЯ-рд▓реЛрдб, рдбрд┐рд▓реАрдЯ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд╛ рдорд┐рд╢реНрд░рдг рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ рддреЛ рдХреНрд▓реЙрдЬред
- рдХреЗрд╡рд▓
SUM
,COUNT
,AVG
,STDDEV
,VARIANCE
,MIN
рдФрд░MAX
рддреЗрдЬрд╝ рд░рд┐рдлреНрд░реЗрд╢ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рд╣реИрдВредCOUNT(*)
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред- рд╕рдордЧреНрд░ рдХрд╛рд░реНрдп рдХреЗрд╡рд▓ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рдмрд╕реЗ рдмрд╛рд╣рд░реА рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдпрд╛рдиреА рд╕рдореБрдЪреНрдЪрдп рдЬреИрд╕реЗ
AVG(AVG(x))
orAVG(x)
+AVG(x)
рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИред- рдЬреИрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдореБрдЪреНрдЪрдп рдХреЗ рд▓рд┐рдП
AVG(expr)
, рдЕрдиреБрд░реВрдкCOUNT(expr)
рдЕрдирд┐рд╡рд╛рд░реНрдп рдЙрдкрд╕реНрдерд┐рддрд┐ред рдУрд░реЗрдХрд▓ рдЗрд╕рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИSUM(expr)
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред- If
VARIANCE(expr)
orSTDDEV(expr
) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,COUNT(expr)
рдФрд░SUM(expr)
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП. рдУрд░реЗрдХрд▓ рдЗрд╕рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИSUM(expr *expr)
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред- RSI
SELECT
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреНрд╡реЗрд░реА рдореЗрдВ рдХреЙрд▓рдо рдХрдИ рдЖрдзрд╛рд░ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдХреЙрд▓рдо рдХреЗ рд╕рд╛рде рдПрдХ рдЬрдЯрд┐рд▓ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдиреЗрд╕реНрдЯреЗрдб рднреМрддрд┐рдХ рджреГрд╢реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред- RSI
SELECT
рд╕реВрдЪреА рдореЗрдВ рд╕рднреА рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПGROUP
BY
рдХреЙрд▓рдоред- рднреМрддрд┐рдХ рджреГрд╢реНрдп рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рджреВрд░рд╕реНрде рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИред
- рдЕрдЧрд░ рдЖрдк рдП
CHAR
рднреМрддрд┐рдХреАрдХреГрдд рджреГрд╢реНрдп рд▓реЙрдЧ рдХреЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЙрд▓рдо рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░, рдорд╛рд╕реНрдЯрд░ рд╕рд╛рдЗрдЯ рдХреЗ рд╡рд░реНрдг рд╕реЗрдЯ рдФрд░ рднреМрддрд┐рдХреАрдХреГрдд рджреГрд╢реНрдп рд╕рдорд╛рди рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред- рдпрджрд┐ рднреМрддрд┐рдХ рджреГрд╢реНрдп рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рддреЛ рддреЗрдЬрд╝ рд░рд┐рдлреНрд░реЗрд╢ рдХреЗрд╡рд▓ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдбреАрдПрдордПрд▓ рдЖрд╡реЗрд╖рдг рдФрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рд▓реЛрдб рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИред
- рдХреЗ рд╕рд╛рде рднреМрддрд┐рдХ рд╡рд┐рдЪрд╛рд░
MIN
orMAX
рд╕рдореБрдЪреНрдЪрдп- рдЬрд┐рди рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдореВрд░реНрдд рд░реВрдк рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
SUM(expr)
рд▓реЗрдХрд┐рди рдирд╣реАрдВCOUNT(expr)
- рдмрд┐рдирд╛ рднреМрддрд┐рдХ рд╡рд┐рдЪрд╛рд░
COUNT(*)
рдРрд╕реЗ рднреМрддрд┐рдХреАрдХреГрдд рджреГрд╢реНрдп рдХреЛ рдХреЗрд╡рд▓-рд╕рдореНрдорд┐рд▓рд┐рдд рднреМрддрд┐рдХреАрдХреГрдд рджреГрд╢реНрдп рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдХреЗ рд╕рд╛рде рдПрдХ рднреМрддрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг
MAX
orMIN
рдпрджрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдирд╣реАрдВ рд╣реИ рддреЛ рдбрд┐рд▓реАрдЯ рдпрд╛ рдорд┐рд╢реНрд░рд┐рдд рдбреАрдПрдордПрд▓ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рдмрд╛рдж рддреЗрдЬреА рд╕реЗ рд░реАрдлреНрд░реЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИWHERE
рдЦрдВрдбред
рдбрд┐рд▓реАрдЯ рдпрд╛ рдорд┐рд╢реНрд░рд┐рдд рдбреАрдПрдордПрд▓ рдХреЗ рдмрд╛рдж рдЕрдзрд┐рдХрддрдо/рдорд┐рдирдЯ рддреЗрдЬрд╝ рд░рд┐рдлреНрд░реЗрд╢ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЗрдиреНрд╕рд░реНрдЯ-рдУрдирд▓реА рдХреЗрд╕ рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рднрд╛рд╡рд┐рдд рд╕рдореВрд╣реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо/рдиреНрдпреВрдирддрдо рдорд╛рдиреЛрдВ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ рдФрд░ рдкреБрдирдГ рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рднрд╛рд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдЧрд░реВрдХ рд╣реЛрдирд╛ рд╣реЛрдЧрд╛ред- рдирд╛рдорд┐рдд рд╡рд┐рдЪрд╛рд░реЛрдВ рдпрд╛ рдЙрдкрд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рднреМрддрд┐рдХреАрдХреГрдд рджреГрд╢реНрдп
FROM
рдХреНрд▓реЙрдЬ рдХреЛ рддреБрд░рдВрдд рддрд╛рдЬрд╝рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдмрд╢рд░реНрддреЗ рдХрд┐ рджреГрд╢реНрдпреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдХрд┐рди рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рд╡рд┐рд▓рдп рд╣реЛрдЧрд╛, рдЗрд╕рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВOracle рдбреЗрдЯрд╛рдмреЗрд╕ SQL тАЛтАЛрднрд╛рд╖рд╛ рд╕рдВрджрд░реНрдн .- рдпрджрд┐ рдХреЛрдИ рдмрд╛рд╣рд░реА рдЬреБрдбрд╝рд╛рд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдЪрдпрди рдФрд░ рдЬреЛрдбрд╝ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
WHERE
рдЦрдВрдбред- рдмрд╛рд╣рд░реА рдЬреБрдбрд╝рд╛рд╡ рдХреЗ рд╕рд╛рде рднреМрддрд┐рдХ рд╕рдордЧреНрд░ рджреГрд╢реНрдп рдкрд╛рд░рдВрдкрд░рд┐рдХ рдбреАрдПрдордПрд▓ рдФрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рд▓реЛрдб рдХреЗ рдмрд╛рдж рддреЗрдЬреА рд╕реЗ рддрд╛рдЬрд╝рд╛ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдмрд╢рд░реНрддреЗ рдХреЗрд╡рд▓ рдмрд╛рд╣рд░реА рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред рд╕рд╛рде рд╣реА, рдЗрдирд░ рдЬреЙрдЗрди рдЯреЗрдмрд▓ рдХреЗ рдЬреЙрдЗрди рдХреЙрд▓рдо рдкрд░ рдЕрджреНрд╡рд┐рддреАрдп рдмрд╛рдзрд╛рдПрдВ рдореМрдЬреВрдж рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдмрд╛рд╣рд░реА рдЬреЛрдбрд╝ рд╣реИрдВ, рддреЛ рд╕рднреА рдЬреЛрдбрд╝ рдЬреБрдбрд╝реЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП
AND
s рдФрд░ рд╕рдорд╛рдирддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (=
) рдСрдкрд░реЗрдЯрд░ред- рднреМрддрд┐рдХ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП
CUBE
,ROLLUP
, рд╕рдореВрд╣реАрдХрд░рдг рд╕реЗрдЯ, рдпрд╛ рдЙрдирдХрд╛ рд╕рдВрдпреЛрдЬрди, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рддрд┐рдмрдВрдз рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ:
- RSI
SELECT
рд╕реВрдЪреА рдореЗрдВ рд╕рдореВрд╣реАрдХрд░рдг рд╡рд┐рднреЗрджрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдпрд╛ рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ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
рд╕реЗрдЯ рдСрдкрд░реЗрдЯрд░ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИREFRESH
FAST
рд╡рд┐рдХрд▓реНрдк рдпрджрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рд░реНрддреЗрдВ рдкреВрд░реА рд╣реЛрддреА рд╣реИрдВ:
- рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреНрд╡реЗрд░реА рдореЗрдВ рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
UNION
ALL
рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░ рдСрдкрд░реЗрдЯрд░.RSI
UNION
ALL
рдСрдкрд░реЗрдЯрд░ рдХреЛ рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде, рд╕рдмрдХреНрд╡реЗрд░реА рдХреЗ рдЕрдВрджрд░ рдПрдореНрдмреЗрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рджUNION
ALL
рдореЗрдВ рдПрдХ рд╕рдмрдХреНрд╡реЗрд░реА рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИFROM
рдЦрдВрдб рдмрд╢рд░реНрддреЗ рдХрд┐ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреНрд╡реЗрд░реА рдлреЙрд░реНрдо рдХреА рд╣реЛSELECT * FROM
(рджреЗрдЦреЗрдВ рдпрд╛ рд╕рдмрдХреНрд╡реЗрд░реА рдХреЗ рд╕рд╛рдеUNION
ALL
) рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░:рд╡реНрдпреВ рд╡реНрдпреВ_рд╡рд┐рдж_рдпреВрдирд┐рдпрдирдСрд▓ рдПрдПрд╕ рдмрдирд╛рдПрдВ (рдЧреНрд░рд╛рд╣рдХреЛрдВ рд╕реЗ рд╕реА.рд░реЛрд╡рд┐рдб рдХреНрд░рд┐рдб, рд╕реА.рдХрд╕реНрдЯ_рдЖрдИрдбреА, 2 рдЙрдорд░рдХрд░ рдЪреБрдиреЗрдВ рд╕реА рдЬрд╣рд╛рдВ рд╕реА.рдХрд╕реНрдЯ_рд▓рд╛рд╕реНрдЯ_рдирд╛рдо = 'рд╕реНрдорд┐рде' рдпреВрдирд┐рдпрди рд╕рднреА рдЪреБрдиреЗрдВ рд╕реА.рд░реЛрд╡рд┐рдб рдХреНрд░рд┐рдб, рд╕реА.рдХрд╕реНрдЯ_рдЖрдИрдбреА, рдЧреНрд░рд╛рд╣рдХреЛрдВ рд╕реЗ 3 рдЙрдорд░рдХрд░ рдЪреБрдиреЗрдВ рд╕реА рдЬрд╣рд╛рдВ рд╕реА.рдХрд╕реНрдЯ_рд▓рд╛рд╕реНрдЯ_рдирд╛рдо = 'рдЬреЛрдиреНрд╕'); рднреМрддрд┐рдХреАрдХреГрдд рджреГрд╢реНрдп рдмрдирд╛рдПрдВ рдпреВрдирд┐рдпрдирдСрд▓_рдЗрдирд╕рд╛рдЗрдб_рд╡реНрдпреВ_рдПрдорд╡реА рдЪрдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдВрдЧ рдкрд░ рддреЗрдЬреА рд╕реЗ рддрд╛рдЬрд╝рд╛ рдХрд░реЗрдВ * view_with_unionall рд╕реЗ;рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рджреГрд╢реНрдп
view_with_unionall
рддреЗрдЬреА рд╕реЗ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред- рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╡реЗрд░реА рдмреНрд▓реЙрдХ рдореЗрдВ
UNION
ALL
рдХреНрд╡реЗрд░реА рдХреЛ рд╕рдореБрдЪреНрдЪрдп рдХреЗ рд╕рд╛рде рддреЗрдЬрд╝ рд░реАрдлрд╝реНрд░реЗрд╢ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рднреМрддрд┐рдХ рджреГрд╢реНрдп рдпрд╛ рдЬреЛрдбрд╝ рдХреЗ рд╕рд╛рде рддреЗрдЬрд╝ рд░реАрдлрд╝реНрд░реЗрд╢ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рднреМрддрд┐рдХ рджреГрд╢реНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПредрд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рддреЗрдЬрд╝ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рднреМрддрд┐рдХреАрдХреГрдд рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдкрд░ рдЙрдкрдпреБрдХреНрдд рднреМрддрд┐рдХреАрдХреГрдд рджреГрд╢реНрдп рд▓реЙрдЧ рдмрдирд╛рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдУрд░реЗрдХрд▓ рдбрд╛рдЯрд╛рдмреЗрд╕ рдПрдХрд▓ рддрд╛рд▓рд┐рдХрд╛ рднреМрддрд┐рдХ рджреГрд╢реНрдп рдХреЗ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдХреЛ рдХреЗрд╡рд▓ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде рд╣реА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИROWID
рдХреЙрд▓рдо рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИSELECT
рд╕реВрдЪреА рдФрд░ рднреМрддрд┐рдХ рджреГрд╢реНрдп рд▓реЙрдЧ рдореЗрдВред рдпрд╣ рджреГрд╢реНрдп рдХреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреНрд╡реЗрд░реА рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИview_with_unionall
.- RSI
SELECT
рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╡реЗрд░реА рдХреА рд╕реВрдЪреА рдореЗрдВ рдПрдХ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПUNION
ALL
рдорд╛рд░реНрдХрд░, рдФрд░UNION
ALL
рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд╕реНрдерд┐рд░ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПUNION
ALL
рд╢рд╛рдЦрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдорд╛рд░реНрдХрд░ рдХреЙрд▓рдо рдХреЛ рдЙрд╕реА рдХреНрд░рдорд┐рдХ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПSELECT
рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╡реЗрд░реА рдмреНрд▓реЙрдХ рдХреА рд╕реВрдЪреАред рджреЗрдЦрдирд╛ "рдпреВрдирд┐рдпрди рд╕рднреА рдорд╛рд░реНрдХрд░ рдФрд░ рдХреНрд╡реЗрд░реА рдкреБрдирд░реНрд▓реЗрдЦрди ┬╗рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдПUNION
ALL
рдЪрд┐рд╣реНрдирдХред- рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреИрд╕реЗ рдмрд╛рд╣рд░реА рдЬреБрдбрд╝рд╛рд╡, рдХреЗрд╡рд▓-рд╕рдореНрдорд┐рд▓рд┐рдд рд╕рдордЧреНрд░ рднреМрддрд┐рдХ рджреГрд╢реНрдп рдХреНрд╡реЗрд░реА рдФрд░ рджреВрд░рд╕реНрде рддрд╛рд▓рд┐рдХрд╛рдПрдБ рднреМрддрд┐рдХ рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВ
UNION
ALL
. рд╣рд╛рд▓рд╛рдБрдХрд┐, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рднреМрддрд┐рдХ рджреГрд╢реНрдп, рдЬрд┐рдирдореЗрдВ рдЬреЛрдбрд╝ рдпрд╛ рд╕рдореБрдЪреНрдЪрдп рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ, рдХреЛ рддреЗрдЬреА рд╕реЗ рддрд╛рдЬрд╝рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдмUNION
ALL
рдпрд╛ рджреВрд░рд╕реНрде рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред- рддреЗрдЬреА рд╕реЗ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рднреМрддрд┐рдХ рджреГрд╢реНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рддрд╛ рдЖрд░рдВрднреАрдХрд░рдг рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ 9.2.0 рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
UNION
ALL
.
рдореИрдВ рдУрд░реЗрдХрд▓ рдкреНрд░рд╢рдВрд╕рдХреЛрдВ рдХреЛ рдирд╛рд░рд╛рдЬ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рддрдВрддреНрд░ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ рдирд╣реАрдВ, рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдмрд▓реНрдХрд┐ рд╣рдЬрд╛рд░реЛрдВ рднрд╛рд░рддреАрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд╣рд╛рдВ рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдореМрдХрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЕрдкрдиреА-рдЕрдкрдиреА рд╢рд╛рдЦрд╛рдПрдБ рд▓рд┐рдЦреЗрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЗ рд╡рд╣реА рдХрд┐рдпрд╛ рдЬреЛ рд╡рд╣ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рдФрд░ рдХрд┐рдпрд╛ред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЦрджрд╛рди рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдЬреИрд╕рд╛ рд╣реИред рдЖрдк рдХрд┐рд╕реА рднреА рдЧреИрд░-рд╕реНрдкрд╖реНрдЯ рдкреНрд░рддрд┐рдмрдВрдз рдХреЛ рдкреВрд░рд╛ рдХрд░рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдордп рдЦрджрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╣ рднреА рдПрдХ рдЕрд▓рдЧ рдкреНрд░рд╢реНрди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред
Microsoft SQL рд╕рд░реНрд╡рд░
рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ
SET рд╡рд┐рдХрд▓реНрдкреЛрдВ рдФрд░ рдирд┐рдпрддрд╛рддреНрдордХ рдлрд╝рдВрдХреНрд╢рди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
- рд╡рд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ
CREATE INDEX
рджреГрд╢реНрдп рдХрд╛ рд╕реНрд╡рд╛рдореА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП.- рдЬрдм рдЖрдк рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ
IGNORE_DUP_KEY
рд╡рд┐рдХрд▓реНрдк рдХреЛ рдмрдВрдж (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧ) рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред- рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рджреЛ-рднрд╛рдЧ рд╡рд╛рд▓реЗ рдирд╛рдореЛрдВ рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпреЛрдЬрдирд╛.рддрд╛рд▓рд┐рдХрд╛ рдирд╛рдо рджреГрд╢реНрдп рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ.
- рджреГрд╢реНрдп рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
WITH SCHEMABINDING
рд╡рд┐рдХрд▓реНрдк.- рджреГрд╢реНрдп рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЛ-рднрд╛рдЧ рд╡рд╛рд▓реЗ рдирд╛рдореЛрдВ рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, ..
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреА рдбреЗрдЯрд╛ рдПрдХреНрд╕реЗрд╕ рдкреНрд░реЙрдкрд░реНрдЯреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП
NO SQL
, рдФрд░ рдмрд╛рд╣рд░реА рдкрд╣реБрдВрдЪ рд╕рдВрдкрддреНрддрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПNO
.- рд╕рд╛рдорд╛рдиреНрдп рднрд╛рд╖рд╛ рд░рдирдЯрд╛рдЗрдо (рд╕реАрдПрд▓рдЖрд░) рдлрд╝рдВрдХреНрд╢рди рджреГрд╢реНрдп рдХреА рдЪрдпрди рд╕реВрдЪреА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрд▓рд╕реНрдЯрд░реНрдб рдЗрдВрдбреЗрдХреНрд╕ рдХреБрдВрдЬреА рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗред рд╕реАрдПрд▓рдЖрд░ рдлрд╝рдВрдХреНрд╢рди рджреГрд╢реНрдп рдХреЗ WHERE рдХреНрд▓реЙрдЬ рдпрд╛ рджреГрд╢реНрдп рдореЗрдВ JOIN рдСрдкрд░реЗрд╢рди рдХреЗ ON рдХреНрд▓реЙрдЬ рдореЗрдВ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗред
- рджреГрд╢реНрдп рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕реАрдПрд▓рдЖрд░ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рд╕реАрдПрд▓рдЖрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рдирд┐рдореНрди рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рдЧреБрдг рд╕реЗрдЯ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред
рд╕рдВрдкрддреНрддрд┐
рдиреЛрдЯрдирд┐рдпрддрд┐рд╡рд╛рджреА = рд╕рддреНрдп
Microsoft .NET Framework рд╡рд┐рдзрд┐ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПредрд╕рдЯреАрдХ = рд╕рддреНрдп
.NET Framework рд╡рд┐рдзрд┐ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПредрдбреЗрдЯрд╛ рдПрдХреНрд╕реЗрд╕ = рдХреЛрдИ рдПрд╕рдХреНрдпреВрдПрд▓ рдирд╣реАрдВ
DataAccess рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ DataAccessKind.None рдкрд░ рдФрд░ SystemDataAccess рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ SystemDataAccessKind.None рдкрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредрдмрд╛рд╣рд░реА рдкрд╣реБрдВрдЪ = рдирд╣реАрдВ
рдпрд╣ рдкреНрд░реЙрдкрд░реНрдЯреА рд╕реАрдПрд▓рдЖрд░ рд░реВрдЯреАрди рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ NO рд╣реИред- рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреГрд╢реНрдп рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
WITH SCHEMABINDING
рд╡рд┐рдХрд▓реНрдк.- рджреГрд╢реНрдп рдХреЛ рдХреЗрд╡рд▓ рдЙрди рдЖрдзрд╛рд░ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рджреГрд╢реНрдп рдХреЗ рд╕рдорд╛рди рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╣реИрдВред рджреГрд╢реНрдп рдЕрдиреНрдп рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛.
- рджреГрд╢реНрдп рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ SELECT рдХрдерди рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд Transact-SQL рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП:
COUNT
рд░реЛрд╕реЗрдЯ рдлрд╝рдВрдХреНрд╢рди (OPENDATASOURCE
,OPENQUERY
,OPENROWSET
, рддрдерд╛OPENXML
)
OUTER
рдЬреБрдбрд╝рддрд╛ рд╣реИ (LEFT
,RIGHT
рдпрд╛,FULL
)рд╡реНрдпреБрддреНрдкрдиреНрди рддрд╛рд▓рд┐рдХрд╛ (рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд)ред
SELECT
рдореЗрдВ рдмрдпрд╛рдиFROM
рдЙрдкрд╡рд╛рдХреНрдп)
рд╕реНрд╡ рдорд┐рд▓рддреА рд╣реИ
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрд▓рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛SELECT *
orSELECT <table_name>.*
DISTINCT
STDEV
,STDEVP
,VAR
,VARP
рдпрд╛,AVG
рд╕рд╛рдорд╛рдиреНрдп рддрд╛рд▓рд┐рдХрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (рд╕реАрдЯреАрдИ)рдирд╛рд╡1, рдЯреЗрдХреНрд╕реНрдЯ, ntext, рдХреА рдЫрд╡рд┐, рдПрдХреНрд╕рдПрдордПрд▓рдпрд╛, рдлрд╝рд╛рдЗрд▓ рдзрд╛рд░рд╛ рдХреЙрд▓рдо
рд╕рдмрдХреНрд╡реЗрд░реА
OVER
рдЦрдВрдб, рдЬрд┐рд╕рдореЗрдВ рд░реИрдВрдХрд┐рдВрдЧ рдпрд╛ рд╕рдордЧреНрд░ рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВрдкреВрд░реНрдг-рдкрд╛рда рд╡рд┐рдзреЗрдп (
CONTAINS
,FREETEXT
)
SUM
рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рдПрдХ рдЕрд╢рдХреНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддрд╛ рд╣реИ
ORDER BY
рд╕реАрдПрд▓рдЖрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдордЧреНрд░ рдлрд╝рдВрдХреНрд╢рди
TOP
CUBE
,ROLLUP
рдпрд╛,GROUPING SETS
рдСрдкрд░реЗрдЯрд░реЛрдВ
MIN
,MAX
UNION
,EXCEPT
рдпрд╛,INTERSECT
рдСрдкрд░реЗрдЯрд░реЛрдВ
TABLESAMPLE
рддрд╛рд▓рд┐рдХрд╛ рдЪрд░
OUTER APPLY
orCROSS APPLY
PIVOT
,UNPIVOT
рд╡рд┐рд░рд▓ рд╕реНрддрдВрдн рд╕реЗрдЯ
рдЗрдирд▓рд╛рдЗрди (рдЯреАрд╡реАрдПрдл) рдпрд╛ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЯреЗрдмрд▓-рд╡реИрд▓реНрдпреВ рдлрд╝рдВрдХреНрд╢рдВрд╕ (рдПрдордПрд╕рдЯреАрд╡реАрдПрдл)
OFFSET
CHECKSUM_AGG
1 рдЕрдиреБрдХреНрд░рдорд┐рдд рджреГрд╢реНрдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдирд╛рд╡ рд╕реНрддрдВрдн; рд╣рд╛рд▓рд╛рдБрдХрд┐, рдРрд╕реЗ рдХреЙрд▓рдореЛрдВ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░реНрдб рдЗрдВрдбреЗрдХреНрд╕ рдХреБрдВрдЬреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- If
GROUP BY
рдореМрдЬреВрдж рд╣реИ, рджреГрд╢реНрдп рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПCOUNT_BIG(*)
рдФрд░ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПHAVING
. рдЗрдиGROUP BY
рдкреНрд░рддрд┐рдмрдВрдз рдХреЗрд╡рд▓ рдЕрдиреБрдХреНрд░рдорд┐рдд рджреГрд╢реНрдп рдкрд░рд┐рднрд╛рд╖рд╛ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред рдПрдХ рдХреНрд╡реЗрд░реА рдЕрдкрдиреА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрдиреБрдХреНрд░рдорд┐рдд рджреГрд╢реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИ, рднрд▓реЗ рд╣реА рд╡рд╣ рдЗрдиреНрд╣реЗрдВ рд╕рдВрддреБрд╖реНрдЯ рди рдХрд░реЗGROUP BY
рдкреНрд░рддрд┐рдмрдВрдзред- рдпрджрд┐ рджреГрд╢реНрдп рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ a рд╢рд╛рдорд┐рд▓ рд╣реИ
GROUP BY
рдХреНрд▓реЙрдЬ, рдЕрджреНрд╡рд┐рддреАрдп рдХреНрд▓рд╕реНрдЯрд░реНрдб рдЗрдВрдбреЗрдХреНрд╕ рдХреА рдХреБрдВрдЬреА рдХреЗрд╡рд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЙрд▓рдо рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИGROUP BY
рдЦрдВрдбред
рдпрд╣рд╛рдВ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рднрд╛рд░рддреАрдп рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдереЗ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ "рд╣рдо рдереЛрдбрд╝рд╛ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЕрдЪреНрдЫрд╛ рдХрд░реЗрдВрдЧреЗ" рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдпрд╛рдиреА рдЙрдирдХреЗ рдкрд╛рд╕ рдореИрджрд╛рди рдкрд░ рдЕрдзрд┐рдХ рдЦрджрд╛рдиреЗрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХрд╛ рд╕реНрдерд╛рди рдЕрдзрд┐рдХ рдкрд╛рд░рджрд░реНрд╢реА рд╣реИред рд╕рдмрд╕реЗ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдмрд╛рдд рдпрд╣ рд╕реАрдорд╛ рд╣реИ:
рджреГрд╢реНрдп рдХреЛ рдХреЗрд╡рд▓ рдЙрди рдЖрдзрд╛рд░ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рджреГрд╢реНрдп рдХреЗ рд╕рдорд╛рди рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╣реИрдВред рджреГрд╢реНрдп рдЕрдиреНрдп рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛.
рд╣рдорд╛рд░реА рд╢рдмреНрджрд╛рд╡рд▓реА рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд┐рд╕реА рдЕрдиреНрдп рднреМрддрд┐рдХ рдлрд╝рдВрдХреНрд╢рди рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реА рд╕рднреА рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛рдУрдВ рдХреЛ рдЦрд╝рддреНрдо рдХрд░ рджреЗрддрд╛ рд╣реИред
рд╕рд╛рде рд╣реА, рдпрд╣ рд╕реАрдорд╛ (рдФрд░ рдкрд╛рда рдореЗрдВ рдЖрдЧреЗ) рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рдмрд╣реБрдд рдХрдо рдХрд░ рджреЗрддреА рд╣реИ:
рджреГрд╢реНрдп рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ SELECT рдХрдерди рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд Transact-SQL рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП:
COUNT
рд░реЛрд╕реЗрдЯ рдлрд╝рдВрдХреНрд╢рди (OPENDATASOURCE
,OPENQUERY
,OPENROWSET
, рддрдерд╛OPENXML
)
OUTER
рдЬреБрдбрд╝рддрд╛ рд╣реИ (LEFT
,RIGHT
рдпрд╛,FULL
)рд╡реНрдпреБрддреНрдкрдиреНрди рддрд╛рд▓рд┐рдХрд╛ (рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд)ред
SELECT
рдореЗрдВ рдмрдпрд╛рдиFROM
рдЙрдкрд╡рд╛рдХреНрдп)
рд╕реНрд╡ рдорд┐рд▓рддреА рд╣реИ
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрд▓рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛SELECT *
orSELECT <table_name>.*
DISTINCT
STDEV
,STDEVP
,VAR
,VARP
рдпрд╛,AVG
рд╕рд╛рдорд╛рдиреНрдп рддрд╛рд▓рд┐рдХрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (рд╕реАрдЯреАрдИ)рдирд╛рд╡1, рдЯреЗрдХреНрд╕реНрдЯ, ntext, рдХреА рдЫрд╡рд┐, рдПрдХреНрд╕рдПрдордПрд▓рдпрд╛, рдлрд╝рд╛рдЗрд▓ рдзрд╛рд░рд╛ рдХреЙрд▓рдо
рд╕рдмрдХреНрд╡реЗрд░реА
OVER
рдЦрдВрдб, рдЬрд┐рд╕рдореЗрдВ рд░реИрдВрдХрд┐рдВрдЧ рдпрд╛ рд╕рдордЧреНрд░ рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВрдкреВрд░реНрдг-рдкрд╛рда рд╡рд┐рдзреЗрдп (
CONTAINS
,FREETEXT
)
SUM
рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рдПрдХ рдЕрд╢рдХреНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддрд╛ рд╣реИ
ORDER BY
рд╕реАрдПрд▓рдЖрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдордЧреНрд░ рдлрд╝рдВрдХреНрд╢рди
TOP
CUBE
,ROLLUP
рдпрд╛,GROUPING SETS
рдСрдкрд░реЗрдЯрд░реЛрдВ
MIN
,MAX
UNION
,EXCEPT
рдпрд╛,INTERSECT
рдСрдкрд░реЗрдЯрд░реЛрдВ
TABLESAMPLE
рддрд╛рд▓рд┐рдХрд╛ рдЪрд░
OUTER APPLY
orCROSS APPLY
PIVOT
,UNPIVOT
рд╡рд┐рд░рд▓ рд╕реНрддрдВрдн рд╕реЗрдЯ
рдЗрдирд▓рд╛рдЗрди (рдЯреАрд╡реАрдПрдл) рдпрд╛ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЯреЗрдмрд▓-рд╡реИрд▓реНрдпреВ рдлрд╝рдВрдХреНрд╢рдВрд╕ (рдПрдордПрд╕рдЯреАрд╡реАрдПрдл)
OFFSET
CHECKSUM_AGG
рдмрд╛рд╣рд░реА рдЬреЛрдбрд╝, рдпреВрдирд┐рдпрди, рдСрд░реНрдбрд░ рдмрд╛рдп рдФрд░ рдЕрдиреНрдп рдирд┐рд╖рд┐рджреНрдз рд╣реИрдВред рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реВрдЪреА рд╕рдВрднрд╡рддрдГ рдмрд╣реБрдд рдЫреЛрдЯреА рд╣реЛрдЧреА.
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╣реЗрдВ рддреЛ: рдПрд▓рдЬреАрдкреАрдПрд▓ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ (рдЖрдЗрдП рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдзреНрдпрд╛рди рджреЗрдВ) рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕реЗрдЯ рдмрдирд╛рдо рдХреЛрдИ рдирд╣реАрдВ (рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рддрдХрдиреАрдХреА рдирд╣реАрдВ)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕ рддрдВрддреНрд░ рдХреЛ рд╕рдВрдмрдВрдзрдкрд░рдХ рддрд░реНрдХ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╡рд░реНрдгрд┐рдд рдХрд╛рд░реНрдпрд╛рддреНрдордХ рддрд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреБрдЫ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдпрд╣ рдХрд╛рдо рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ? PostgreSQL рдХрд╛ рдЙрдкрдпреЛрдЧ "рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди" рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЬрдЯрд┐рд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реИ рдЬреЛ рдкреНрд░рд╢реНрди рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ
рдХреНрдпрд╛ рдпрд╣ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдХрд╛рдлреА рдкреНрд░рднрд╛рд╡реА. рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ рдЗрддрдирд╛ рд╣реА рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдмрдбрд╝реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣рдЬрд╛рд░реЛрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рддреЛ рдФрд╕рддрди рд╡реЗ рдПрдХ рдЕрдЪреНрдЫреЗ рдбреЗрд╡рд▓рдкрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИрдВред рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ SQL рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХрд┐рд╕реА рднреА рдкреНрд░рд╢реНрди рдХреЛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдЬрд╛рд░реЛрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рдгрд╛ рдпрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреЗ рдкреНрд░рдорд╛рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдм рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣реА рдЙрджреНрдзреГрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдбреАрдмреАрдПрдордПрд╕ рдкрд░ рдирд┐рд░реНрдорд┐рдд рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИрдВ
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЖрдк рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рдХреИрд╕реЗ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд░рд┐рд╡рд░реНрддрди рд╕рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫред
рд╕реНрд░реЛрдд: www.habr.com