SQL рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдФрд░ рдХреНрд╡реЗрд░реА рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди
рдЕрдкрдиреА SQL рдХреНрд╡реЗрд░реА рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЬрдм рдЖрдк рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реЙрд░реНрдЯрдХрдЯ рджрдмрд╛рддреЗ рд╣реИрдВ рддреЛ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреНрд╡реЗрд░реА рдХреЛ рдПрдХ тАЬрдкрд╛рд░реНрд╕ рдЯреНрд░реАтАЭ рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдХреНрд╡реЗрд░реА рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рд╕рд┐рдореИрдВрдЯрд┐рдХреНрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреА рд╣реИред рдкрд╛рд░реНрд╕рд░ рдЗрдирдкреБрдЯ рдХреНрд╡реЗрд░реА рдХрд╛ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рдлрд┐рд░ рд░реАрд░рд╛рдЗрдЯ рдЗрдВрдЬрди рдХреЛ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдмрд╛рдж рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рдХрд╛ рдХрд╛рд░реНрдп рджреА рдЧрдИ рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдпрд╛ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдЦреЛрдЬрдирд╛ рд╣реИред рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдкреНрд▓рд╛рди рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛрдЧрд╛ рдФрд░ рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдордиреНрд╡рдп рдХреИрд╕реЗ рд╣реЛрдЧрд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдмрд╕реЗ рдЗрд╖реНрдЯрддрдо рдкреНрд▓рд╛рди рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдкреНрд▓рд╛рдиреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓рд╛рди рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдпрд╛ рд▓рд╛рдЧрдд рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╡рд░реНрддрдорд╛рди рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкреНрд▓рд╛рди рдХреЛ рдЕрдВрддрд┐рдо рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдкреНрд▓рд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдХреНрд╡реЗрд░реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рд╣рдореЗрд╢рд╛ рдкрд░рд┐рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реЛрддреЗ, рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдкреНрд░рд╢рд╛рд╕рдХ рдХрднреА-рдХрднреА рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдкреНрд▓рд╛рдиреЛрдВ рдХреА рдореИрдиреНрдпреБрдЕрд▓ рдЬрд╛рдБрдЪ рдФрд░ рдЯреНрдпреВрдирд┐рдВрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдм рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ рдХрд┐ тАЬрдЕрдЪреНрдЫрд╛ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рдитАЭ рдХрд┐рд╕реЗ рдорд╛рдирд╛ рдЬрд╛рдПред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдкрдврд╝рд╛, рдкреНрд▓рд╛рди рдХреА рд▓рд╛рдЧрдд/рдЧреБрдгрд╡рддреНрддрд╛ рдПрдХ рдмрдбрд╝рд╛ рдХрд╛рд░рдХ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкреНрд▓рд╛рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдбрд┐рд╕реНрдХ I/O рдХреА рд╕рдВрдЦреНрдпрд╛, CPU рд▓рд╛рдЧрдд, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдЯрд╛рдЗрдо, рдФрд░ рдХреБрд▓ рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рд╕рдордптАФрдпреЗ рд╕рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред рдпрд╣реАрдВ рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд╛рдо рдЖрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдЖрдЧреЗ рдФрд░ рдкрдврд╝реЗрдВрдЧреЗред
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЪрдпрдирд┐рдд рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдЗрдВрдЬрди рджреНрд╡рд╛рд░рд╛ рдЪрд▓рд╛рдпрд╛ рдФрд░ рдореВрд▓реНрдпрд╛рдВрдХрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреА рдХреНрд╡реЗрд░реА рдХреЗ рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред

SQL рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рд▓рд┐рдЦрдирд╛
рдкрд┐рдЫрд▓реЗ рдЦрдВрдб рд╕реЗ рдЬреЛ рдмрд╛рдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реБрдИ рд╣реЛрдЧреА, рд╡рд╣ рд╣реИ рдХрд┐ рдЧрд╛рд░реНрдмреЗрдЬ рдЗрди, рдЧрд╛рд░реНрдмреЗрдЬ рдЖрдЙрдЯ (GIGO) рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдХреНрд╡реЗрд░реА рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдФрд░ рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдореЗрдВ рдЙрднрд░рддрд╛ рд╣реИ: рдЬреЛ рд╡реНрдпрдХреНрддрд┐ рдХреНрд╡реЗрд░реА рдмрдирд╛рддрд╛ рд╣реИ, рд╡рд╣реА рдЖрдкрдХреА SQL рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЪрд╛рдмреА рднреА рд░рдЦрддрд╛ рд╣реИред рдпрджрд┐ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рдХреЛ рдЦрд░рд╛рдм рдврдВрдЧ рд╕реЗ рддреИрдпрд╛рд░ рдХреА рдЧрдИ рдХреНрд╡реЗрд░реА рдорд┐рд▓рддреА рд╣реИ, рддреЛ рд╡рд╣ рд╕реАрдорд┐рдд рд╣реА рд╕реБрдзрд╛рд░ рдХрд░ рдкрд╛рдПрдЧрд╛ред
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреНрд╡реЗрд░реА рд▓рд┐рдЦрддреЗ рд╕рдордп рдХреБрдЫ рдЪреАрдЬреЗрдВ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдкрд░рд┐рдЪрдп рдореЗрдВ рджреЗрдЦрд╛, рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА рджреЛрд╣рд░реА рд╣реИ: рдпрд╣ рдХреЗрд╡рд▓ рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд░реВрдк рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рд▓рд┐рдЦрдиреЗ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рднреА рд╕рдордЭрдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА рдХреНрд╡реЗрд░реА рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рд╕рдВрдмрдВрдзреА рд╕рдорд╕реНрдпрд╛рдПрдБ рдХрд╣рд╛рдБ рдЫрд┐рдкреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рдПрдХ рдЖрджрд░реНрд╢ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдкрдиреА рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдореЗрдВ рдРрд╕реЗ тАЬрд╕реНрдкреЙрдЯреНрд╕тАЭ рд╕реЛрдЪреЗрдВ рдЬрд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛рдПрдБ рдШреБрд╕ рд╕рдХрддреА рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдпрддрдГ, рдЪрд╛рд░ рдХреНрд▓реЙрдЬрд╝ рдФрд░ рдХреАрд╡рд░реНрдб рдРрд╕реЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рджрд░реНрд╢рди рд╕рдВрдмрдВрдзреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
WHEREрдХреНрд▓реЙрдЬрд╝;- рдХреЛрдИ рднреА
INNER JOINрдпрд╛LEFT JOINрдХреАрд╡рд░реНрдб; рдФрд░, HAVINGрдХреНрд▓реЙрдЬрд╝;
рдорд╛рдиреНрдп рд╣реИ, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рд░рд▓ рдФрд░ рднреЛрд▓рд╛ рд╣реИ, рдкрд░ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпреЗ рдХреНрд▓реЙрдЬрд╝ рдФрд░ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдЙрддреНрдХреГрд╖реНрдЯ рд╕рдВрдХреЗрддрдХ рд╣реИрдВ, рдФрд░ рдпрд╣ рдХрд╣рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ рдХрд┐ рд╢реБрд░реБрдЖрддреА рдЪрд░рдг рдореЗрдВ рдЧрд▓рддрд┐рдпрд╛рдБ рдЕрдХреНрд╕рд░ рдпрд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ рдФрд░ рд╡рд┐рдбрдВрдмрдирд╛ рдпрд╣ рдХрд┐ рдЗрдиреНрд╣реЗрдВ рдкрд╣рдЪрд╛рдирдирд╛ рднреА рдпрд╣реАрдВ рдореБрд╢реНрдХрд┐рд▓ рдкрдбрд╝рддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдкрдХреЛ рдпрд╣ рднреА рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреНрд░рджрд░реНрд╢рди рд╕рдВрджрд░реНрдн рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдХрд░ рд╣реА рдЕрд░реНрдердкреВрд░реНрдг рд╣реЛрддрд╛ рд╣реИ: рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣рдирд╛ рдХрд┐ рдпреЗ рдХреНрд▓реЙрдЬрд╝ рдФрд░ рдХреАрд╡рд░реНрдб рдЦрд░рд╛рдм рд╣реИрдВтАФSQL рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреА рдХреНрд╡реЗрд░реА рдореЗрдВ WHERE рдпрд╛ HAVING рдХреНрд▓реЙрдЬрд╝ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм рдХреНрд╡реЗрд░реА рдирд╣реАрдВ рдмрдирд╛рддрд╛ред
рдЕрдЧрд▓реЗ рдЦрдВрдб рдХреЛ рджреЗрдЦреЗрдВ рддрд╛рдХрд┐ рдПрдВрдЯреА-рдкреИрдЯрд░реНрдиреНрд╕ рдФрд░ рдЕрдкрдиреА SQL рдХреНрд╡реЗрд░реА рдмрдирд╛рдиреЗ рдХреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рди рд╕рдХреЗрдВред рдпреЗ рдЯрд┐рдкреНрд╕ рдФрд░ рдЯреНрд░рд┐рдХреНрд╕ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рд╣реИрдВред рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрд╡реЗрд░реА рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдпрд╛ рдирд╣реАрдВтАФрдпрд╣ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛, рдбреЗрдЯрд╛рдмреЗрд╕, рдФрд░ рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡реГрддреНрддрд┐ рд╕рд╣рд┐рдд рдХрдИ рдмрд╛рддреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рдЖрдкрдХреА рдХреНрд╡реЗрд░реА рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬрд┐рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдХреНрд╡реЗрд░реА рдХрд░рдиреА рд╣реИ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░реНрд╡-рдЬреНрдЮрд╛рди рд╣реЛрдирд╛ рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ!
1. рд╕рд┐рд░реНрдл рд╡рд╣реА рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓реЗрдВ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рдЬрд╝рд░реВрд░рдд рд╣реИ
тАЬрдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛, рдЙрддрдирд╛ рдмреЗрд╣рддрд░тАЭ рд╡рд╛рд▓реА рд╕реЛрдЪ SQL рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рд▓рд┐рдЦрддреЗ рд╕рдордп рд╣рдореЗрд╢рд╛ рд╕рд╣реА рдирд╣реАрдВ рд╣реЛрддреА: рди рдХреЗрд╡рд▓ рдЖрдк рдЬрд╝рд░реВрд░рдд рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдбреЗрдЯрд╛ рд▓реЗрдХрд░ рдЕрдкрдиреА рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдзреБрдВрдзрд▓реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдЦреАрдВрдЪрдиреЗ рд╕реЗ рдЖрдкрдХреА рдХреНрд╡реЗрд░реА рдХрд╛ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рднреА рдЧрд┐рд░ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕реАрд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдпрддрдГ SELECT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ, DISTINCT рдХреНрд▓реЙрдЬрд╝ рдФрд░ LIKE рдСрдкрд░реЗрдЯрд░ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред
The SELECT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ
рдХреНрд╡реЗрд░реА рд▓рд┐рдЦрддреЗ рд╣реА рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рджреЗрдЦреЗрдВ рдХрд┐ SELECT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдпрдерд╛рд╕рдВрднрд╡ рдХреЙрдореНрдкреИрдХреНрдЯ рд╣реИ рдпрд╛ рдирд╣реАрдВред рд▓рдХреНрд╖реНрдп рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ SELECT рд╕реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЙрд▓рдо рд╣рдЯрд╛рдПрдБред рдЗрд╕ рддрд░рд╣ рдЖрдк рдЦреБрдж рдХреЛ рдХреЗрд╡рд▓ рд╡рд╣реА рдбреЗрдЯрд╛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдЖрдкрдХреА рдХреНрд╡реЗрд░реА рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреА рдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ EXISTS рд╡рд╛рд▓реЗ рдХреЛрд░рд┐рд▓реЗрдЯреЗрдб рд╕рдмрдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рд╣реИрдВ, рддреЛ рдЙрд╕ рд╕рдмрдХреНрд╡реЗрд░реА рдХреЗ SELECT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рдХрд┐рд╕реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЙрд▓рдо рдХрд╛ рдорд╛рди рдЪреБрдирдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдХреЙрдиреНрд╕реНрдЯреИрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддрдм рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬрдм рдЖрдк рд╕рд┐рд░реНрдл рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рдЬрд╛рдБрдЪ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдХреЛрд░рд┐рд▓реЗрдЯреЗрдб рд╕рдмрдХреНрд╡реЗрд░реА рд╡рд╣ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЖрдЙрдЯрд░ рдХреНрд╡реЗрд░реА рдХреЗ рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред рдФрд░ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рд╛рд▓рд╛рдБрдХрд┐ NULL рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ тАЬрдХреЙрдиреНрд╕реНрдЯреИрдВрдЯтАЭ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдмрд╣реБрдд рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрддрд╛ рд╣реИ!
рдХреЙрдиреНрд╕реНрдЯреИрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
SELECT driverslicensenr, name FROM Drivers WHERE EXISTS (SELECT '1' FROM Fines WHERE fines.driverslicensenr = drivers.driverslicensenr);
рдЯрд┐рдк: рдпрд╣ рдЬрд╛рдирдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ рдХрд┐ рдХреЛрд░рд┐рд▓реЗрдЯреЗрдб рд╕рдмрдХреНрд╡реЗрд░реА рд░рдЦрдирд╛ рд╣рдореЗрд╢рд╛ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реЛрддрд╛ред рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ INNER JOIN рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдХрд░:
SELECT driverslicensenr, name FROM drivers INNER JOIN fines ON fines.driverslicensenr = drivers.driverslicensenr;
The DISTINCT рдХреНрд▓реЙрдЬрд╝
SELECT DISTINCT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рднрд┐рдиреНрди (рдЕрд▓рдЧ) рдорд╛рди рд▓реМрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ DISTINCT рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдЕрд╡рд╢реНрдп рдХрд░реЗрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдкрдврд╝ рдЪреБрдХреЗ рд╣реИрдВ, рдЗрд╕ рдХреНрд▓реЙрдЬрд╝ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдЯрд╛рдЗрдо рдмрдврд╝рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдпрд╣ рд╕реЛрдЪрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╡рд╛рдХрдИ рдЖрдкрдХреЛ рдордирдЪрд╛рд╣рд╛ рдкрд░рд┐рдгрд╛рдо рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ DISTINCT рдСрдкрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
The LIKE рдСрдкрд░реЗрдЯрд░
рдЬрдм рдЖрдк рдХреНрд╡реЗрд░реА рдореЗрдВ LIKE рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрджрд┐ рдкреИрдЯрд░реНрди % рдпрд╛ _ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реЛрддрд╛ред рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЗрдВрдбреЗрдХреНрд╕ (рдпрджрд┐ рдореМрдЬреВрдж рд╣реЛ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХ рджреЗрдЧрд╛ред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рджреВрд╕рд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдпрд╣ рднреА рддрд░реНрдХ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдХреНрд╡реЗрд░реА рдЖрдкрдХреЗ рд▓рдХреНрд╖реНрдп рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░рд┐рдХреЙрд░реНрдбреНрд╕ рднреА рд▓рд╛ рд╕рдХрддреА рд╣реИред
рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХрд╛ рдЖрдкрдХрд╛ рдЬреНрдЮрд╛рди рдЖрдкрдХреЛ рдРрд╕рд╛ рдкреИрдЯрд░реНрди рдЧрдврд╝рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдЬреЛ рдареАрдХ рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рдХреЗрд╡рд▓ рд╡рд╣реА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдирд┐рдХрд╛рд▓реЗ рдЬреЛ рдЖрдкрдХреА рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рд╡рд╛рдХрдИ рдорд╛рдпрдиреЗ рд░рдЦрддреА рд╣реИрдВред
2. рдЕрдкрдиреЗ рдкрд░рд┐рдгрд╛рдо рд╕реАрдорд┐рдд рдХрд░реЗрдВ
рдЬрдм SELECT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдЕрд╡рд╢реНрдпрдореНрднрд╛рд╡реА рд╣реЛ, рддреЛ рдкрд░рд┐рдгрд╛рдо рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣рд╛рдБ LIMIT рдХреНрд▓реЙрдЬрд╝ рдФрд░ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХрдиреНрд╡рд░реНрд╢рди рдЬреИрд╕реА рд╡рд┐рдзрд┐рдпрд╛рдБ рдХрд╛рдо рдЖрддреА рд╣реИрдВред
TOP, LIMIT рдФрд░ ROWNUM рдХреНрд▓реЙрдЬрд╝
рдЖрдк рдЕрдкрдиреА рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдореЗрдВ LIMIT рдпрд╛ TOP рдХреНрд▓реЙрдЬрд╝ рдЬреЛрдбрд╝рдХрд░ рд░рд┐рдЬрд╝рд▓реНрдЯ рд╕реЗрдЯ рдХреА рдЕрдзрд┐рдХрддрдо рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг:
SELECT TOP 3 * FROM Drivers;
рдиреЛрдЯ: рдЖрдк PERCENT рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдпрджрд┐ рдЖрдк рдХреНрд╡реЗрд░реА рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЛ SELECT TOP 50 PERCENT * рд╕реЗ рдмрджрд▓ рджреЗрдВред
SELECT driverslicensenr, name FROM Drivers LIMIT 2;
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк ROWNUM рдХреНрд▓реЙрдЬрд╝ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреА рдХреНрд╡реЗрд░реА рдореЗрдВ LIMIT рдХреЗ рд╕рдорддреБрд▓реНрдп рд╣реИ:
SELECT *FROM DriversWHERE driverslicensenr = 123456 AND ROWNUM <= 3;
рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХрдиреНрд╡рд░реНрд╢рди
рд╣рдореЗрд╢рд╛ рд╕рдмрд╕реЗ рдХреБрд╢рд▓тАФрдпрд╛рдиреА рд╕рдмрд╕реЗ рдЫреЛрдЯреЗтАФрдбреЗрдЯрд╛ рдЯрд╛рдЗрдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЬрд╣рд╛рдБ рдЫреЛрдЯрд╛ рдЯрд╛рдЗрдк рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛ, рд╡рд╣рд╛рдБ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЯрд╛рдЗрдк рджреЗрдирд╛ рдЬреЛрдЦрд┐рдо рднрд░рд╛ рд╣реИред
рд▓реЗрдХрд┐рди, рдЬрдм рдЖрдк рдХреНрд╡реЗрд░реА рдореЗрдВ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХрдиреНрд╡рд░реНрд╢рди рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдЯрд╛рдЗрдо рдмрдврд╝рддрд╛ рд╣реА рд╣реИред
рд╡рд┐рдХрд▓реНрдк рдпрд╣ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХрдиреНрд╡рд░реНрд╢рди рд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рдмрдЪреЗрдВред рдпрд╣рд╛рдБ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХрдиреНрд╡рд░реНрд╢рди рдХреЛ рд╣рдореЗрд╢рд╛ рд╣рдЯрд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддрд╛, рдкрд░ рдЖрдкрдХреЛ рдЗрдиреНрд╣реЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╕рдордп рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЬрдм рдХрд░реЗрдВ, рддреЛ рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрд╕рдХреЗ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдЕрд╡рд╢реНрдп рдХрд░реЗрдВред
3. рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЛ рдЬрд╝рд░реВрд░рдд рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдЬрдЯрд┐рд▓ рди рдмрдирд╛рдПрдВ
рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХрдиреНрд╡рд░реНрд╢рди рдЕрдЧрд▓реА рдмрд╛рдд рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ: рдЕрдкрдиреА рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЛ рдУрд╡рд░-рдЗрдВрдЬреАрдирд┐рдпрд░ рди рдХрд░реЗрдВред рдЙрдиреНрд╣реЗрдВ рд╕рд░рд▓ рдФрд░ рдХреБрд╢рд▓ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рдпрд╣ рдЯрд┐рдк рдмрд╣реБрдд рд╕рд░рд▓ рдпрд╛ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд▓рдЧ рд╕рдХрддреА рд╣реИ, рдЦрд╛рд╕рдХрд░ рдХреНрдпреЛрдВрдХрд┐ рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЬрдЯрд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк рдЖрдЧреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рд╕рд░рд▓ рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИред
The OR рдСрдкрд░реЗрдЯрд░
рдЬрдм рдЖрдк рдЕрдкрдиреА рдХреНрд╡реЗрд░реА рдореЗрдВ OR рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЗрдВрдбреЗрдХреНрд╕ рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреА рдбреЗрдЯрд╛рдмреЗрд╕ рдЯреЗрдмрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЧрддрд┐ рдмрдврд╝рд╛рддреА рд╣реИ, рдкрд░ рдЗрд╕рдХреА рдПрдХ рдХреАрдордд рд╣реИ: рдЕрддрд┐рд░рд┐рдХреНрдд рд░рд╛рдЗрдЯреНрд╕ рд╣реЛрдВрдЧреЗ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдЯреЛрд░реЗрдЬ рд╕реНрдкреЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рдирд╛ рд╣рд░ рдмрд╛рд░ рд╣рд░ рдкрдВрдХреНрддрд┐ рдЦреЛрдЬреЗ, рддреБрд░рдВрдд рдбреЗрдЯрд╛ рд▓реЛрдХреЗрдЯ/рд▓реБрдХрдЕрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрдВрдбреЗрдХреНрд╕ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдХреЙрд▓рдореНрд╕ рдкрд░ рдмрдирд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ, рддреЛ рдЖрдкрдХреА рдХреНрд╡реЗрд░реА рдХрд╛ рд╕рдордп рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдмрдврд╝реЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рдХреНрд╡реЗрд░реА рдореЗрдВ OR рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдк рддрд▓рд╛рд╢рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ;
рдпрд╣ рдХреНрд╡реЗрд░реА рджреЗрдЦреЗрдВ:
SELECT driverslicensenr, nameFROM DriversWHERE driverslicensenr = 123456OR driverslicensenr = 678910OR driverslicensenr = 345678;
рдЖрдк рдСрдкрд░реЗрдЯрд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:
INрд╡рд╛рд▓реА рдХрдВрдбреАрд╢рди; рдпрд╛
SELECT driverslicensenr, nameFROM DriversWHERE driverslicensenr IN (123456, 678910, 345678);
- рджреЛ
SELECTрд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдХреЗ рд╕рд╛рдеUNIONред
рдЯрд┐рдк: рдпрд╣рд╛рдБ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ UNION рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдПрдХ рд╣реА рдЯреЗрдмрд▓ рд╕реЗ рдХрдИ рдмрд╛рд░ рдЧреБрдЬрд░рддреЗ рд╣реИрдВред рд╕рд╛рде рд╣реА, UNION рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдЯрд╛рдЗрдо рдмрдврд╝реЗрдЧрд╛ред UNION рдХреЗ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ: рдХреНрд╡реЗрд░реА рдХреЛ рдРрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдХрд┐ рд╕рднреА рд╢рд░реНрддреЗрдВ рдПрдХ рд╣реА SELECT рдореЗрдВ рдЖ рдЬрд╛рдПрдБ, рдпрд╛ UNION рдХреА рдЬрдЧрд╣ OUTER JOIN рдХрд╛ рдЙрдкрдпреЛрдЧред
рдЯрд┐рдк: рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рднрд▓реЗ рд╣реА ORтАФрдФрд░ рдЖрдЧреЗ рдмрддрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп рдСрдкрд░реЗрдЯрд░тАФрдЕрдХреНрд╕рд░ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ, рдЗрдВрдбреЗрдХреНрд╕ рд▓реБрдХрдЕрдк рд╣рдореЗрд╢рд╛ рд╡рд╛рдВрдЫрдиреАрдп рднреА рдирд╣реАрдВ рд╣реЛрддреЗ!
The NOT рдСрдкрд░реЗрдЯрд░
рдЬрдм рдЖрдкрдХреА рдХреНрд╡реЗрд░реА рдореЗрдВ NOT рдСрдкрд░реЗрдЯрд░ рд╣реЛ, рддреЛ OR рдХреА рддрд░рд╣ рд╣реА рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рд╣реЛред рдЗрд╕рд╕реЗ рдЖрдкрдХреА рдХреНрд╡реЗрд░реА рдзреАрдореА рд╣реЛ рдЬрд╛рдПрдЧреАред рдпрджрд┐ рдмрд╛рдд рд╕реНрдкрд╖реНрдЯ рди рд╣реЛ, рддреЛ рдпрд╣ рджреЗрдЦреЗрдВ:
SELECT driverslicensenr, nameFROM DriversWHERE NOT (year > 1980);
рдпрд╣ рдХреНрд╡реЗрд░реА рдЖрдкрдХреА рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдзреАрдореА рдЪрд▓реЗрдЧреА, рдореБрдЦреНрдпрддрдГ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ: рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╡рд┐рдХрд▓реНрдк рддрд▓рд╛рд╢рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред NOT рдХреЛ рддреБрд▓рдирд╛ рдСрдкрд░реЗрдЯрд░реЛрдВ рдЬреИрд╕реЗ >, <> рдпрд╛ !> рд╕реЗ рдмрджрд▓рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ; рдКрдкрд░ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
SELECT driverslicensenr, nameFROM DriversWHERE year <= 1980;
рдЕрдм рдпрд╣ рдХрд╛рдлреА рд╕рд╛рдл рджрд┐рдЦрддрд╛ рд╣реИ, рд╣реИ рдирд╛?
The AND рдСрдкрд░реЗрдЯрд░
AND рдСрдкрд░реЗрдЯрд░ рднреА рдРрд╕рд╛ рдСрдкрд░реЗрдЯрд░ рд╣реИ рдЬреЛ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рдФрд░ рдпрджрд┐ рдЕрддреНрдпрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╡ рдЕрд▓реНрдк-рдкреНрд░рднрд╛рд╡реА рддрд░реАрдХреЗ рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛ, рддреЛ рдХреНрд╡реЗрд░реА рдХреЛ рдзреАрдорд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдиреАрдЪреЗ:
SELECT driverslicensenr, nameFROM DriversWHERE year >= 1960 AND year <= 1980;
рдЗрд╕реЗ BETWEEN рдСрдкрд░реЗрдЯрд░ рд╕реЗ рдлрд┐рд░ рд▓рд┐рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ:
SELECT driverslicensenr, nameFROM DriversWHERE year BETWEEN 1960 AND 1980;
The ANY рдФрд░ ALL рдСрдкрд░реЗрдЯрд░реНрд╕
ANY рдФрд░ ALL рдСрдкрд░реЗрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рде рднреА рд╕рд╛рд╡рдзрд╛рдиреА рд░рдЦреЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрдиреНрд╣реЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдкрд░ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдБ MIN рдпрд╛ MAX рдЬреИрд╕реА рдПрдЧреНрд░реАрдЧреЗрд╢рди рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЙрдкрдпреЛрдЧреА рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдЯрд┐рдк: рдЬрд╣рд╛рдБ рдЖрдк рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣рд╛рдБ рдпрд╣ рдЬрд╛рдирдирд╛ рдЬрд╝рд░реВрд░реА рд╣реИ рдХрд┐ SUM, AVG, MIN, MAX рдЬреИрд╕реА рд╕рднреА рдПрдЧреНрд░реАрдЧреЗрд╢рди рдлрд╝рдВрдХреНрд╢рдВрд╕тАФрдмрд╣реБрдд рд╕реА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░тАФрд▓рдВрдмрд╛ рд╕рдордп рд▓реЗ рд╕рдХрддреА рд╣реИрдВред рдРрд╕реЗ рдореЗрдВ, рдпрд╛ рддреЛ рд╣реИрдВрдбрд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдХрд░реЗрдВ рдпрд╛ рдЗрди рдорд╛рдиреЛрдВ рдХреЛ рдкреВрд░реНрд╡-рдЧрдгрдирд╛ рдХрд░реЗрдВред рдЖрдк рдлрд┐рд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рддрд╛рд╡рд░рдг, рдХреНрд╡реЗрд░реА рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп, тАж рдЗрддреНрдпрд╛рджрд┐ рдХрд╛ рдЬреНрдЮрд╛рди рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ!
рдХрдВрдбрд┐рд╢рдиреНрд╕ рдореЗрдВ рдХреЙрд▓рдореНрд╕ рдХреЛ рдЕрд▓рдЧ рд░рдЦреЗрдВ
рдЬрд╣рд╛рдБ рдХрд┐рд╕реА рдХреЙрд▓рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рдХреИрд▓рдХреБрд▓реЗрд╢рди рдпрд╛ рд╕реНрдХреЗрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рд╡рд╣рд╛рдБ рднреА рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реЛрддрд╛ред рдПрдХ рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реИ рдХрд┐ рдЙрд╕ рдХреЙрд▓рдо рдХреЛ рдХреИрд▓рдХреБрд▓реЗрд╢рди/рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдЕрд▓рдЧ рдХрд░ рджреЗрдВред рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
SELECT driverslicensenr, nameFROM DriversWHERE year + 10 = 1980;
рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдЯрдкрдЯрд╛ рд▓рдЧрддрд╛ рд╣реИ, рд╣реИ рдирд╛? рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЧрдгрдирд╛ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдХреНрд╡реЗрд░реА рдХреЛ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦреЗрдВ:
SELECT driverslicensenr, nameFROM DriversWHERE year = 1970;
4. рдмреНрд░реВрдЯ рдлреЛрд░реНрд╕ рдирд╣реАрдВ
рдЗрд╕ рдЕрдВрддрд┐рдо рдЯрд┐рдк рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХреНрд╡реЗрд░реА рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рди рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬреЙрдЗрдиреНрд╕ рдФрд░ HAVING рдХреНрд▓реЙрдЬрд╝ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред
рдЬреЙрдЗрдиреНрд╕
- рдЯреЗрдмрд▓реНрд╕ рдХрд╛ рдХреНрд░рдо
рдЬрдм рдЖрдк рджреЛ рдЯреЗрдмрд▓реНрд╕ рдХреЛ рдЬреЙрдЗрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЬреЙрдЗрди рдореЗрдВ рдЯреЗрдмрд▓реНрд╕ рдХреЗ рдХреНрд░рдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдПрдХ рдЯреЗрдмрд▓ рджреВрд╕рд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рдмрдбрд╝реА рд╣реИ, рддреЛ рдХреНрд╡реЗрд░реА рдХреЛ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ рдХрд┐ рд╕рдмрд╕реЗ рдмрдбрд╝реА рдЯреЗрдмрд▓ рдЬреЙрдЗрди рдореЗрдВ рдЕрдВрдд рдореЗрдВ рдЖрдПред
- рдЬреЙрдЗрдиреНрд╕ рдкрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╢рд░реНрддреЗрдВ
рдЬрдм рдЖрдк рдЬреЙрдЗрдиреНрд╕ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╢рд░реНрддреЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк SQL рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░рд╛рд╕реНрддрд╛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рддреЗ рд╣реИрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рд░рд╛рд╕реНрддрд╛ рд╣рдореЗрд╢рд╛ рд╕рдмрд╕реЗ рдкрд░рдлреЙрд░реНрдореЗрдВрдЯ рди рд╣реЛред
The HAVING рдХреНрд▓реЙрдЬрд╝
HAVING рдХреНрд▓реЙрдЬрд╝ рдХреЛ рдореВрд▓рддрдГ рдЗрд╕рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ WHERE рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдЧреНрд░реАрдЧреЗрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред рдкреНрд░рд╛рдпрдГ HAVING рдХреЛ GROUP BY рдХреЗ рд╕рд╛рде рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд▓реМрдЯрд╛рдИ рдЧрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рдореВрд╣реЛрдВ рдХреЛ рдХреБрдЫ рд╢рд░реНрддреЗрдВ рдкреВрд░реА рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рддрдХ рд╕реАрдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рд▓реЗрдХрд┐рди, рдпрджрд┐ рдЖрдк рдЗрд╕ рдХреНрд▓реЙрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реЛрддрд╛тАФрдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВтАФрдЗрд╕рд╕реЗ рдХреНрд╡реЗрд░реА рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдЧрд┐рд░ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рд╡рд┐рдХрд▓реНрдк рдЦреЛрдЬ рд░рд╣реЗ рд╣реИрдВ, рддреЛ WHERE рдХреНрд▓реЙрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпреЗ рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рджреЗрдЦреЗрдВ:
SELECT state, COUNT(*) FROM Drivers WHERE state IN ('GA', 'TX') GROUP BY state ORDER BY state
SELECT state, COUNT(*) FROM Drivers GROUP BY stateHAVING state IN ('GA', 'TX') ORDER BY state
рдкрд╣рд▓реА рдХреНрд╡реЗрд░реА WHERE рдХреЗ рд╕рд╛рде рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реАрдорд┐рдд рдХрд░рддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рд╣реИ, рдЬрдмрдХрд┐ рджреВрд╕рд░реА рдХреНрд╡реЗрд░реА рдкреВрд░реА рдЯреЗрдмрд▓ рдХреА рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдпреЛрдЧ рдХрд░рддреА рд╣реИ рдФрд░ рдлрд┐рд░ HAVING рд╕реЗ рдЕрдирдЪрд╛рд╣реЗ рдпреЛрдЧреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддреА рд╣реИред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ WHERE рд╡рд╛рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рд╕реНрдкрд╖реНрдЯрддрдГ рдмреЗрд╣рддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╕рдВрд╕рд╛рдзрди рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░рддреЗред
рджреЗрдЦрд╛ рдЖрдкрдиреЗтАФрдпрд╣ рдкрд░рд┐рдгрд╛рдо рд╕реЗрдЯ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХреНрд╡реЗрд░реА рдХреЗ рднреАрддрд░ рдордзреНрдпрд╡рд░реНрддреА рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
рдиреЛрдЯ: рдЗрди рджреЛрдиреЛрдВ рдХреНрд▓реЙрдЬрд╝ рдореЗрдВ рдлрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ WHERE рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ рд╢рд░реНрдд рд▓рдЧрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ HAVING рдПрдЧреНрд░реАрдЧреЗрд╢рдВрд╕ рдпрд╛ рдРрд╕реЗ рдЪрдпрди рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рд╢рд░реНрдд рд▓рдЧрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдБ рдХрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рд╕реЗ MIN, MAX, SUMтАж рдЬреИрд╕рд╛ рдПрдХрд▓ рдкрд░рд┐рдгрд╛рдо рдирд┐рдХрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реЛред
рджреЗрдЦрд╛ рдЬрд╛рдП рддреЛ, рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди, рд▓рд┐рдЦрдирд╛ рдФрд░ рдлрд┐рд░ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИтАФрдЦрд╛рд╕рдХрд░ рддрдм рдЬрдм рдЙрдиреНрд╣реЗрдВ рдпрдерд╛рд╕рдВрднрд╡ рдкрд░рдлреЙрд░реНрдореЗрдВрдЯ рднреА рд░рдЦрдирд╛ рд╣реЛ; рдПрдВрдЯреА-рдкреИрдЯрд░реНрдиреНрд╕ рд╕реЗ рдмрдЪрдирд╛ рдФрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛, рдкреЗрд╢реЗрд╡рд░ рдорд╛рд╣реМрд▓ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рд▓рд┐рдЦрддреЗ рд╕рдордп рдЖрдкрдХреА рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред
рдпрд╣ рд╕реВрдЪреА рдмрд╕ рдХреБрдЫ рдПрдВрдЯреА-рдкреИрдЯрд░реНрдиреНрд╕ рдФрд░ рдЯрд┐рдкреНрд╕ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрди рдереА рдЬреЛ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░реЗ; рдпрджрд┐ рдЖрдк рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд┐рди рдПрдВрдЯреА-рдкреИрдЯрд░реНрдиреНрд╕ рдХреЛ рд╕рдмрд╕реЗ рдЖрдо рдорд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЪрд░реНрдЪрд╛ рджреЗрдЦреЗрдВред
рд╕реЗрдЯ-рдЖрдзрд╛рд░рд┐рдд рдмрдирд╛рдо рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХреНрд╡реЗрд░реА рджреГрд╖реНрдЯрд┐рдХреЛрдг
рдКрдкрд░ рдмрддрд╛рдП рдЧрдП рдПрдВрдЯреА-рдкреИрдЯрд░реНрдиреНрд╕ рдореЗрдВ рдЬреЛ рдирд┐рд╣рд┐рдд рдерд╛, рд╡рд╣ рдпрд╣ рдХрд┐ рдЕрдВрддрддрдГ рдмрд╛рдд рд╕реЗрдЯ-рдЖрдзрд╛рд░рд┐рдд рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рдЕрдВрддрд░ рдкрд░ рдЖ рдЯрд┐рдХрддреА рд╣реИред
рдХреНрд╡реЗрд░реА рдХрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЬреИрд╕рд╛ рд╣реИ: рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЙрдЗрдиреНрд╕ рдореЗрдВ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╢рд░реНрддреЗрдВ, рдпрд╛ рдКрдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП HAVING рдХреЗ рджреБрд░реБрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ, рдЬрд╣рд╛рдБ рдЖрдк рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рджреВрд╕рд░рд╛ рдлрд╝рдВрдХреНрд╢рди рдмреБрд▓рд╛рддреЗ рд╣реИрдВ, рдпрд╛ рд▓реВрдкреНрд╕, рдХрдВрдбреАрд╢рдиреНрд╕, рдпреВрдЬрд╝рд░ рдбрд┐рдлрд╝рд╛рдЗрдВрдб рдлрд╝рдВрдХреНрд╢рдВрд╕ (UDFs), рдХрд░реНрд╕рд░реНрд╕, тАж рд╕реЗ рдпреБрдХреНрдд рд▓реЙрдЬрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдкрд╛рддреЗ рд╣реИрдВред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдЖрдк рдЕрдХреНрд╕рд░ рдкрд╣рд▓реЗ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ рдорд╛рдБрдЧрддреЗ рд╣реИрдВ, рдлрд┐рд░ рджреВрд╕рд░рд╛ рд╕рдмрд╕реЗрдЯ, рдФрд░ рдЖрдЧреЗ рдРрд╕реЗ рд╣реАред
рдЕрдЪрд░рдЬ рдирд╣реАрдВ рдХрд┐ рдЗрд╕реЗ рдЕрдХреНрд╕рд░ тАЬрд╕реНрдЯреЗрдк-рдмрд╛рдп-рд╕реНрдЯреЗрдктАЭ рдпрд╛ тАЬрд░реЛ-рдмрд╛рдп-рд░реЛтАЭ рдХреНрд╡реЗрд░рд┐рдВрдЧ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рджреВрд╕рд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗрдЯ-рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд╣рд╛рдБ рдЖрдк рдХреЗрд╡рд▓ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдЖрдкрдХреА рднреВрдорд┐рдХрд╛ рдпрд╣ рдмрддрд╛рдиреЗ рддрдХ рд╕реАрдорд┐рдд рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдкрд░рд┐рдгрд╛рдо рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╢рд░реНрддреЗрдВ/рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рд░рдЦрддреЗ рд╣реИрдВред рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдирд┐рдХрд▓реЗрдЧрд╛тАФрдпрд╣ рдЖрдк рдХреНрд╡реЗрд░реА рдХреЗ рдЖрдВрддрд░рд┐рдХ рддрдВрддреНрд░ рдкрд░ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ: рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрдЬрди рдЖрдкрдХреА рдХреНрд╡реЗрд░реА рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо/рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд▓реЙрдЬрд┐рдХ рдЪреБрдирддрд╛ рд╣реИред
рдХреНрдпреЛрдВрдХрд┐ SQL рд╕реЗрдЯ-рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдпрд╣ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ рдХрд┐ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рд╕рд╛рдмрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рднреА рд╕рдордЭрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ SQL рдХреЛрдб рд╕реЗ рддреЗрдЬрд╝ рдХреНрдпреЛрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЯрд┐рдк рд╕реЗрдЯ-рдЖрдзрд╛рд░рд┐рдд рдХреНрд╡реЗрд░рд┐рдВрдЧ рд╡рд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ рдЬрд┐рд╕реЗ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рдЙрджреНрдпреЛрдЧ рдХреЗ рд╢реАрд░реНрд╖ рдирд┐рдпреЛрдХреНрддрд╛ рдЖрдкрд╕реЗ рдорд╛рд╣рд┐рд░ рд╣реЛрдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рд░рдЦрддреЗ рд╣реИрдВ! рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ рдЗрди рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдиреЛрдЯ: рдпрджрд┐ рдЖрдк рдХрднреА рдЦреБрдж рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХреНрд╡реЗрд░реА рдХреЗ рд╕рд╛рде рдкрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ/рд░рд┐рдлреИрдХреНрдЯрд░ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдХреНрд╡реЗрд░реА рд╕реЗ рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдкреНрд▓рд╛рди рддрдХ
рдпрд╣ рдЬрд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдПрдВрдЯреА-рдкреИрдЯрд░реНрдиреНрд╕ рд╕реНрдерд┐рд░ рдирд╣реАрдВ рд╣реЛрддреЗ рдФрд░ рдЖрдкрдХреЗ SQL рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдврд╝рдиреЗ рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рд╣реИрдВтАФрдФрд░ рдпрд╣ рдХрд┐ рд╡рд┐рдХрд▓реНрдк рд╕реЛрдЪрддреЗ рд╕рдордп рдмрд╣реБрдд рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИтАФрдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдПрдВрдЯреА-рдкреИрдЯрд░реНрдиреНрд╕ рд╕реЗ рдмрдЪрдирд╛ рдФрд░ рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдХрдард┐рди рдХрд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреЛрдИ рднреА рдорджрдж рдЙрдкрдпреЛрдЧреА рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреБрдЫ рдЯреВрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рд╕рдВрд░рдЪрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдХреНрд╡реЗрд░реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рдПрдХ рдмреЗрд╣рддрд░ рдорд╛рд░реНрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдиреЛрдЯ: рдкрд┐рдЫрд▓реЗ рдЦрдВрдб рдореЗрдВ рдмрддрд╛рдП рдХреБрдЫ рдПрдВрдЯреА-рдкреИрдЯрд░реНрдиреНрд╕ рдХреА рдЬрдбрд╝реЗрдВ рдкреНрд░рджрд░реНрд╢рди рд╕рдВрдмрдВрдзреА рдЪрд┐рдВрддрд╛рдУрдВ рдореЗрдВ рдереАрдВтАФрдЬреИрд╕реЗ AND, OR рдФрд░ NOT рдСрдкрд░реЗрдЯрд░реНрд╕ рдФрд░ рдЗрдирдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдирд╛ред рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдкрд░ рд╕реЛрдЪрдирд╛ рдХреЗрд╡рд▓ рдЕрдзрд┐рдХ рд╕рдВрд░рдЪрд┐рдд рд╣реА рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЕрдзрд┐рдХ рдЧрд╣рд░рд╛рдИ рд╡рд╛рд▓рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рднреА рдорд╛рдВрдЧрддрд╛ рд╣реИред
рдЬреЛ рднреА рд╣реЛ, рдпрд╣ рд╕рдВрд░рдЪрд┐рдд рдФрд░ рдЧрд╣рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рд╛рдпрдГ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрдЧрд╛, рдЬреЛтАФрдЬреИрд╕рд╛ рдХрд┐ рдпрд╛рдж рд╣реИтАФрдХреНрд╡реЗрд░реА рдХреЛ тАЬрдкрд╛рд░реНрд╕ рдЯреНрд░реАтАЭ рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдЙрдкрдпреЛрдЧ рд╣реЛрдЧрд╛ рдФрд░ рдСрдкрд░реЗрд╢рдиреЛрдВ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдХреИрд╕реЗ рд╕рдордиреНрд╡рд┐рдд рд╣реЛрдЧрд╛ред
рдХреНрд╡реЗрд░реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдкрд░рд┐рдЪрдп рдореЗрдВ рдкрдврд╝рд╛, рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдкреНрд▓рд╛рдиреЛрдВ рдХреА рдореИрдиреНрдпреБрдЕрд▓ рдЬрд╛рдБрдЪ рдФрд░ рдЯреНрдпреВрдирд┐рдВрдЧ рдХрд░рдиреА рдкрдбрд╝ рд╕рдХрддреА рд╣реИред рдРрд╕реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рджреЗрдЦрдХрд░ рдЕрдкрдиреА рдХреНрд╡реЗрд░реА рдХрд╛ рдлрд┐рд░ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдпрд╣ рдкреНрд▓рд╛рди рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдП рдЧрдП рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдХреБрдЫ рдЯреВрд▓реНрд╕ рдЬреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
- рдХреБрдЫ рдкреИрдХреЗрдЬ рдРрд╕реЗ рдЯреВрд▓реНрд╕ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдХрд╛ рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
- рдЕрдиреНрдп рдЯреВрд▓реНрд╕ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдХрд╛ рдЯреЗрдХреНрд╕реНрдЯ рд╡рд┐рд╡рд░рдг рджреЗрддреЗ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг Oracle рдореЗрдВ
EXPLAIN PLANрд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд╣реИ, рдкрд░ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдирд╛рдо рдЖрдкрдХреЗ RDBMS рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрджрд▓рддрд╛ рд╣реИред рдЕрдиреНрдпрддреНрд░ рдЖрдкрдХреЛEXPLAIN(MySQL, PostgreSQL) рдпрд╛EXPLAIN QUERY PLAN(SQLite) рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред
рдиреЛрдЯ: рдпрджрд┐ рдЖрдк PostgreSQL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ EXPLAIN рдФрд░ EXPLAIN ANALYZE рдореЗрдВ рдлрд░реНрдХ рд╣реИ: EXPLAIN рдХреЗрд╡рд▓ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреНрд▓рд╛рдирд░ рдХреНрд╡реЗрд░реА рдХреЛ рдХреИрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддрд╛ рд╣реИ, рдмрд┐рдирд╛ рдЪрд▓рд╛рдП; рдЬрдмрдХрд┐ EXPLAIN ANALYZE рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рдмрдирд╛рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рдиреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд▓реМрдЯрд╛рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдпрддрдГ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдкреНрд▓рд╛рди рд╡рд╣ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк рд╕рдЪ рдореЗрдВ рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдЕрдиреБрдорд╛рдирд┐рдд рдкреНрд▓рд╛рди рдмрд┐рдирд╛ рдЪрд▓рд╛рдП рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ред рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдордХрдХреНрд╖ рд╣реЛрдиреЗ рдкрд░ рднреА, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд▓рд╛рди рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реБрдЖтАФрдЗрд╕рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░рд┐рдпрд╛рдБ рдФрд░ рдЖрдБрдХрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВред
рдЖрдЧреЗ рдХреЗ рднрд╛рдЧ рдореЗрдВ, рдЖрдк EXPLAIN рдФрд░ ANALYZE рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рд╕реАрдЦреЗрдВрдЧреЗ рдФрд░ рдХреИрд╕реЗ рдЗрдирд╕реЗ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рд╡ рд╕рдВрднрд╛рд╡рд┐рдд рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдордЭ рдкрд╛рдПрдБред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВрдЧреЗ рдЬрд┐рдирдореЗрдВ рдЖрдк рджреЛ рдЯреЗрдмрд▓реНрд╕: one_million рдФрд░ half_million рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
one_million рдЯреЗрдмрд▓ рдХреА рд╡рд░реНрддрдорд╛рди рдЬрд╛рдирдХрд╛рд░реА рдЖрдк EXPLAIN рдХреА рдорджрдж рд╕реЗ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ; рдЗрд╕реЗ рдЕрдкрдиреА рдХреНрд╡реЗрд░реА рдХреЗ рд╕рдмрд╕реЗ рдКрдкрд░ рд░рдЦреЗрдВ, рдФрд░ рдЪрд▓рд╛рдиреЗ рдкрд░ рдпрд╣ рдЖрдкрдХреЛ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рд▓реМрдЯрд╛рдПрдЧрд╛:
EXPLAINSELECT *FROM one_million;QUERY PLAN____________________________________________________Seq Scan on one_million(cost=0.00..18584.82 rows=1025082 width=36)(1 row)
рдпрд╣рд╛рдБ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрд╡реЗрд░реА рдХреА рд▓рд╛рдЧрдд 0.00..18584.82 рд╣реИ рдФрд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 1025082 рд╣реИред рдХреЙрд▓рдо рдЪреМрдбрд╝рд╛рдИ 36 рд╣реИред
рдЖрдк ANALYZE рдХреА рдорджрдж рд╕реЗ рдЕрдкрдиреЗ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдирд╡реАрдХреГрдд рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
ANALYZE one_million;EXPLAINSELECT *FROM one_million;QUERY PLAN____________________________________________________Seq Scan on one_million(cost=0.00..18334.00 rows=1000000 width=37)(1 row)
EXPLAIN рдФрд░ ANALYZE рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк EXPLAIN ANALYZE рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдЯрд╛рдЗрдо рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
EXPLAIN ANALYZESELECT *FROM one_million;QUERY PLAN___________________________________________________________Seq Scan on one_million(cost=0.00..18334.00 rows=1000000 width=37)(actual time=0.015..1207.019 rows=1000000 loops=1)Total runtime: 2320.146 ms(2 rows)
EXPLAIN ANALYZE рдХрд╛ рдпрд╣рд╛рдБ рдиреБрдХрд╕рд╛рди рд╕реНрдкрд╖реНрдЯ рд╣реИтАФрдХреНрд╡реЗрд░реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд▓рддреА рд╣реИ, рддреЛ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ!
рдЕрдм рддрдХ рдЖрдкрдиреЗ рдЬреЛ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рджреЗрдЦрд╛ рд╣реИ рд╡рд╣ Seq Scan (Sequential Scan) рдпрд╛ рдлреБрд▓ рдЯреЗрдмрд▓ рд╕реНрдХреИрди рд╣реИ: рдЗрд╕рдореЗрдВ рдЯреЗрдмрд▓ рдХреА рд╣рд░ рдкрдВрдХреНрддрд┐ рдХреНрд░рдорд╡рд╛рд░ рдкрдврд╝реА рдЬрд╛рддреА рд╣реИ рдФрд░ рдкрд╛рдП рдЧрдП рдХреЙрд▓рдореНрд╕ рдХреЛ рд╢рд░реНрдд рдкреВрд░реА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ, Sequential Scan рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЕрднреА рднреА рдлреБрд▓ рдЯреЗрдмрд▓ рд╕реНрдХреИрди рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдлрд┐рд░ рднреА, рдЬрдм рдЯреЗрдмрд▓ рдореЗрдореЛрд░реА рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреА, рддрдм рдпрд╣ рдмреБрд░рд╛ рдирд╣реАрдВтАФрд╕реАрдХреНрд╡реЗрдВрд╢рд┐рдпрд▓ рд░реАрдбреНрд╕ рдзреАрдореА рдбрд┐рд╕реНрдХ рдкрд░ рднреА рддреЗрдЬрд╝ рдЪрд▓рддреА рд╣реИрдВред
рдЗрдВрдбреЗрдХреНрд╕ рд╕реНрдХреИрди рдкрд░ рдмрд╛рдд рдХрд░рддреЗ рд╕рдордп рдЖрдк рдЗрд╕реЗ рдЖрдЧреЗ рдФрд░ рджреЗрдЦреЗрдВрдЧреЗред
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЕрдиреНрдп рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рднреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдЬреЙрдЗрди рдХрд╛ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рджреЗрдЦреЗрдВ:
EXPLAIN ANALYZESELECT *FROM one_million JOIN half_millionON (one_million.counter=half_million.counter);QUERY PLAN_________________________________________________________________Hash Join (cost=15417.00..68831.00 rows=500000 width=42)(actual time=1241.471..5912.553 rows=500000 loops=1)Hash Cond: (one_million.counter = half_million.counter) -> Seq Scan on one_million (cost=0.00..18334.00 rows=1000000 width=37) (actual time=0.007..1254.027 rows=1000000 loops=1) -> Hash (cost=7213.00..7213.00 rows=500000 width=5) (actual time=1241.251..1241.251 rows=500000 loops=1) Buckets: 4096 Batches: 16 Memory Usage: 770kB -> Seq Scan on half_million (cost=0.00..7213.00 rows=500000 width=5)(actual time=0.008..601.128 rows=500000 loops=1)Total runtime: 6468.337 ms
рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрд╡реЗрд░реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рдиреЗ рдпрд╣рд╛рдБ Hash Join рдЪреБрдирд╛! рдЗрд╕реЗ рдпрд╛рдж рд░рдЦреЗрдВтАФрдЖрдкрдХреЛ рдХреНрд╡реЗрд░реА рдХреА рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдпрд╣ рдХрд╛рдо рдЖрдПрдЧрд╛ред рдлрд┐рд▓рд╣рд╛рд▓ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ half_million.counter рдкрд░ рдХреЛрдИ рдЗрдВрдбреЗрдХреНрд╕ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рдЕрдЧрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
CREATE INDEX ON half_million(counter);EXPLAIN ANALYZESELECT *FROM one_million JOIN half_millionON (one_million.counter=half_million.counter);QUERY PLAN________________________________________________________________Merge Join (cost=4.12..37650.65 rows=500000 width=42)(actual time=0.033..3272.940 rows=500000 loops=1)Merge Cond: (one_million.counter = half_million.counter) -> Index Scan using one_million_counter_idx on one_million (cost=0.00..32129.34 rows=1000000 width=37) (actual time=0.011..694.466 rows=500001 loops=1) -> Index Scan using half_million_counter_idx on half_million (cost=0.00..14120.29 rows=500000 width=5)(actual time=0.010..683.674 rows=500000 loops=1)Total runtime: 3833.310 ms(5 rows)
рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдиреЗ рд╕реЗ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рдЕрдм Merge join рдкрд░ рдЧрдпрд╛ рд╣реИ рдЬрд╣рд╛рдБ Index Scan рд╣реЛ рд░рд╣реЗ рд╣реИрдВред
рдиреЛрдЯ: рдЗрдВрдбреЗрдХреНрд╕ рд╕реНрдХреИрди рдФрд░ рдлреБрд▓ рдЯреЗрдмрд▓/рд╕реАрдХреНрд╡реЗрдВрд╢рд┐рдпрд▓ рд╕реНрдХреИрди рдХрд╛ рдЕрдВрддрд░тАФрдкрд╣рд▓рд╛, рдЬрд┐рд╕реЗ тАЬрдЯреЗрдмрд▓ рд╕реНрдХреИрдитАЭ рднреА рдХрд╣рддреЗ рд╣реИрдВ, рдЙрдкрдпреБрдХреНрдд рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдкреЗрдЬреЗрд╕ рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рджреВрд╕рд░рд╛ рдЯреЗрдмрд▓ рдХреА рд╣рд░ рдкрдВрдХреНрддрд┐ рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИред
рдХреБрд▓ рд░рдирдЯрд╛рдЗрдо рдШрдЯрд╛ рд╣реИ рдФрд░ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдмреЗрд╣рддрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдкрд░ рдпрд╣рд╛рдБ рджреЛ рдЗрдВрдбреЗрдХреНрд╕ рд╕реНрдХреИрди рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдореЗрдореЛрд░реА рдХрд╛ рдорд╣рддреНрддреНрд╡ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИтАФрдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЯреЗрдмрд▓ рдореЗрдореЛрд░реА рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреАред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдкрд╣рд▓реЗ рдлреБрд▓ рдЗрдВрдбреЗрдХреНрд╕ рд╕реНрдХреИрди рдХрд░рддреЗ рд╣реИрдВтАФрдпреЗ рддреЗрдЬрд╝ рд╕реАрдХреНрд╡реЗрдВрд╢рд┐рдпрд▓ рд░реАрдбреНрд╕ рд╣реИрдВтАФрдкрд░ рдлрд┐рд░ рдЗрдВрдбреЗрдХреНрд╕ рд╡реИрд▓реНрдпреВ рд╕реЗ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реЗ рд░реИрдВрдбрдо рд░реАрдбреНрд╕ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣реА рд░реИрдВрдбрдо рд░реАрдбреНрд╕ рдЖрдорддреМрд░ рдкрд░ рд╕реАрдХреНрд╡реЗрдВрд╢рд┐рдпрд▓ рд░реАрдбреНрд╕ рд╕реЗ рдХрдИ рдЧреБрдирд╛ рдзреАрдореЗ рд╣реЛрддреЗ рд╣реИрдВред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдлреБрд▓ рдЯреЗрдмрд▓ рд╕реНрдХреИрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлреБрд▓ рдЗрдВрдбреЗрдХреНрд╕ рд╕реНрдХреИрди рд╕реЗ рддреЗрдЬрд╝ рд╣реЛрддрд╛ рд╣реИред
рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рдмрд┐рдЧ O
рдЕрдм рдЬрдм рдЖрдкрдиреЗ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкрд░реАрдХреНрд╖рдг рдХрд░ рд▓рд┐рдпрд╛, рддреЛ рдЖрдк рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдереНрдпреЛрд░реА рдХреА рдорджрдж рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕реЛрдЪрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рди рдХрд╛ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬреЛ рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рд╕рд╛рде рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЙрдирдХреА рдХрдард┐рдирд╛рдИ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ; рдпреЗ рд╕рдорд╕реНрдпрд╛рдПрдБ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рднреАред
рд▓реЗрдХрд┐рди рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХрдард┐рдирд╛рдИ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЪрд▓рд╛рдиреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкрд╛рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕реЗ рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╡реНрдпрдХреНрдд/рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИ рдмрд┐рдЧ O рдиреЛрдЯреЗрд╢рди рд╕реЗред
рдмрд┐рдЧ O рд╕реЗ рдЖрдк рд░рдирдЯрд╛рдЗрдо рдХреЛ рдЗрд╕ рд░реВрдк рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрдирдкреБрдЯ рдХреЗ рдордирдорд╛рдиреЗ рд░реВрдк рд╕реЗ рдмрдбрд╝рд╛ рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рдХрд┐рддрдиреА рддреЗрдЬрд╝реА рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИред рдмрд┐рдЧ O рдЧреБрдгрд╛рдВрдХ рдФрд░ рдирд┐рдореНрди-рдХреНрд░рдо рдХреЗ рдкрджреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓ рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреА рдХреНрд╡реЗрд░реА рдХреЗ рд░рдирд┐рдВрдЧ рдЯрд╛рдЗрдо рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднрд╛рдЧтАФрдЙрд╕рдХреА рд╡реГрджреНрдзрд┐ рджрд░тАФрдкрд░ рдлреЛрдХрд╕ рдХрд░ рд╕рдХреЗрдВред рдЗрд╕ рддрд░рд╣тАФрдЧреБрдгрд╛рдВрдХ рдФрд░ рдирд┐рдореНрди-рдХреНрд░рдо рдХреЗ рдкрджреЛрдВ рдХреЛ рд╣рдЯрд╛ рдХрд░тАФрд╡рд░реНрдгрд┐рдд рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдЕрд╕рд┐рдВрдкреНрдЯреЛрдЯрд┐рдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛рдиреА рдЗрдирдкреБрдЯ рдЖрдХрд╛рд░ рдЕрдирдВрдд рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред
рдбреЗрдЯрд╛рдмреЗрд╕ рднрд╛рд╖рд╛ рдореЗрдВ, рдЬрдЯрд┐рд▓рддрд╛ рдорд╛рдкрддреА рд╣реИ рдХрд┐ рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдЯреЗрдмрд▓реНрд╕ рдХрд╛ рдЖрдХрд╛рд░тАФрдФрд░ рдЗрд╕рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕тАФрдмрдврд╝рддрд╛ рд╣реИ, рдХреНрд╡реЗрд░реА рдЪрд▓рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред
рдиреЛрдЯ: рдЖрдкрдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрдХрд╛рд░ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдмрдврд╝рддрд╛ рдХрд┐ рдЯреЗрдмрд▓реНрд╕ рдореЗрдВ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрдВрдбреЗрдХреНрд╕ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рднреА рдЖрдХрд╛рд░ рдмрдврд╝рд╛рддреА рд╣реИред
рдЕрдкрдиреЗ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдХреА рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рджреЗрдЦрд╛, рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдкреНрд▓рд╛рди рдпрд╣ рднреА рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдЙрдкрдпреЛрдЧ рд╣реЛрдЧрд╛тАФрдЗрд╕рд╕реЗ рд╣рд░ рдХреНрд╡реЗрд░реА рдХрд╛ рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдЯрд╛рдЗрдо рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдЯреЗрдмрд▓ рд╕рд╛рдЗрдЬ рдХрд╛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИтАФрдЗрд╕реЗ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдлрд╝рдВрдХреНрд╢рди рдХрд╣рддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЖрдк рдмрд┐рдЧ O рдиреЛрдЯреЗрд╢рди рдФрд░ рдЕрдкрдиреЗ рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдкреНрд▓рд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд╡реЗрд░реА рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдФрд░ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рдореНрди рдЙрдкрдЦрдВрдбреЛрдВ рдореЗрдВ рдЖрдк рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреЗ рдЪрд╛рд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рдкрд╛рдПрдБрдЧреЗ рдФрд░ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╕рдВрджрд░реНрдн рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреА рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рдХреИрд╕реЗ рдмрджрд▓ рд╕рдХрддреА рд╣реИред
рд╕рдВрдХреЗрдд: рдпрд╣рд╛рдБ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╣рд╛рдиреА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВ!
рдиреЛрдЯ: рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░рд╣ рдХреЗ рдЗрдВрдбреЗрдХреНрд╕, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдкреНрд▓рд╛рди рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛рдмреЗрд╕реЛрдВ рдХреЗ рдЕрд▓рдЧ рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреЗрд╢рди рд╣реЛрддреЗ рд╣реИрдВтАФрдЗрд╕рд▓рд┐рдП рдиреАрдЪреЗ рджреА рдЧрдИ рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛рдПрдБ рдмрд╣реБрдд рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВ рдФрд░ рдЖрдкрдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
O(1): рдХреЙрдиреНрд╕реНрдЯреИрдВрдЯ рдЯрд╛рдЗрдо
рдХрд┐рд╕реА рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреЛ рдХреЙрдиреНрд╕реНрдЯреИрдВрдЯ рдЯрд╛рдЗрдо рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдЗрдирдкреБрдЯ рдЖрдХрд╛рд░ рдЪрд╛рд╣реЗ рдЬреЛ рд╣реЛ, рдЙрд╕реЗ рд╕рдорд╛рди рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП, рд╡рд╣ рддрдм рдХреЙрдиреНрд╕реНрдЯреИрдВрдЯ рдЯрд╛рдЗрдо рдореЗрдВ рдЪрд▓реЗрдЧреА рдЬрдм рдЯреЗрдмрд▓ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реЛрдХрд░ рд╕рдорд╛рди рд╕рдордп рд▓реЗред
рдРрд╕реА рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдмрд╣реБрдд рдЖрдо рдирд╣реАрдВ рд╣реИрдВ, рдлрд┐рд░ рднреА рдПрдХ рдЙрджрд╛рд╣рд░рдг:
SELECT TOP 1 t.* FROM t
рдЯрд╛рдЗрдо рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреЙрдиреНрд╕реНрдЯреИрдВрдЯ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЯреЗрдмрд▓ рд╕реЗ рдХреЛрдИ рдПрдХ рдордирдорд╛рдирд╛ рд░реЛ рдЪреБрдирддреЗ рд╣реИрдВред рдЕрддрдГ рд╕рдордп рдХреА рд▓рдВрдмрд╛рдИ рдЯреЗрдмрд▓ рд╕рд╛рдЗрдЬ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░рд╣рдиреА рдЪрд╛рд╣рд┐рдПред
рд▓рд┐рдирд┐рдпрд░ рдЯрд╛рдЗрдо: O(n)
рдХрд┐рд╕реА рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХрд╛ рд╕рдордп рдпрджрд┐ рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдХреЗ рд╕реАрдзреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдмрдврд╝рддрд╛ рд╣реИтАФрддреЛ рд╡рд╣ рд▓рд┐рдирд┐рдпрд░ рдЯрд╛рдЗрдо рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП, рд╕рдордп рдЯреЗрдмрд▓ рд╕рд╛рдЗрдЬ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рд╣реЛрдЧрд╛: рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд░реЛ рдмрдврд╝реЗрдВрдЧреА, рдХреНрд╡реЗрд░реА рдЯрд╛рдЗрдо рдмрдврд╝реЗрдЧрд╛ред
рдЙрджрд╛рд╣рд░рдг рд╣реИ рдмрд┐рдирд╛ рдЗрдВрдбреЗрдХреНрд╕ рд╡рд╛рд▓реЗ рдХреЙрд▓рдо рдкрд░ WHERE рд╡рд╛рд▓реА рдХреНрд╡реЗрд░реА: рдлреБрд▓ рдЯреЗрдмрд▓ рд╕реНрдХреИрди рдпрд╛ Seq Scan рд▓рдЧреЗрдЧрд╛, рдЬрд┐рд╕рдХреА рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ O(n) рд╣реЛрдЧреАред рдпрд╛рдиреА рд╣рд░ рд░реЛ рдкрдврд╝рдиреА рд╣реЛрдЧреА рддрд╛рдХрд┐ рд╕рд╣реА ID рдорд┐рд▓ рд╕рдХреЗред рдХреЛрдИ рд▓рд┐рдорд┐рдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдкрд╣рд▓реА рд░реЛ рд╣реА рдорд┐рд▓ рдЬрд╛рдП рддрдм рднреА рд╕рднреА рд░реЛ рдкрдврд╝рдиреА рдкрдбрд╝реЗрдВрдЧреАред
рдпрд╣ рдЙрджрд╛рд╣рд░рдг рднреА рджреЗрдЦреЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдпрджрд┐ i_id рдкрд░ рдЗрдВрдбреЗрдХреНрд╕ рдирд╣реАрдВ рд╣реИ рддреЛ рдЬрдЯрд┐рд▓рддрд╛ O(n) рд╣реЛрдЧреА:
SELECT i_id FROM item;
- рдЙрдкрд░реЛрдХреНрдд рдХрд╛ рдЕрд░реНрде рдпрд╣ рднреА рд╣реИ рдХрд┐
COUNT(*) FROM TABLE;рдЬреИрд╕реА рдХрд╛рдЙрдВрдЯ рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рднреАтАФрдЬрдм рддрдХ рдЯреЗрдмрд▓ рдХрд╛ рдХреБрд▓ рд░реЛ рдХрд╛рдЙрдВрдЯ рд╕реНрдЯреЛрд░ рди рд╣реЛтАФO(n) рд╣реЛрдВрдЧреАред рдпрджрд┐ рдХрд╛рдЙрдВрдЯ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛ, рддреЛ рдЬрдЯрд┐рд▓рддрд╛ O(1) рдХреЗ рдЬреИрд╕реА рд╣реЛрдЧреАред
рд▓рд┐рдирд┐рдпрд░ рд╕рдордп рд╕реЗ рдирд┐рдХрдЯрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ рдЬреЙрдЗрдиреНрд╕ рд╡рд╛рд▓реЗ рдкреНрд▓рд╛рдиреЛрдВ рдХреЗ рд╕рдордпред рдЙрджрд╛рд╣рд░рдг:
- рд╣реИрд╢ рдЬреЙрдЗрди рдХреА рдЕрдкреЗрдХреНрд╖рд┐рдд рдЬрдЯрд┐рд▓рддрд╛ O(M + N) рд╣реЛрддреА рд╣реИред рдХреНрд▓рд╛рд╕рд┐рдХ рд╣реИрд╢ рдЬреЙрдЗрди рдореЗрдВ рдкрд╣рд▓реЗ рдЫреЛрдЯреА рдЯреЗрдмрд▓ рдХрд╛ рд╣реИрд╢ рдЯреЗрдмрд▓ рдмрдирддрд╛ рд╣реИтАФрдЬреЙрдЗрди рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ рдФрд░ рдЙрд╕рдХреА рд░реЛ рдПрдВрдЯреНрд░реА рд╣реЛрддреА рд╣реИред рдлрд┐рд░ рдмрдбрд╝реА рдЯреЗрдмрд▓ рд╕реНрдХреИрди рд╣реЛрддреА рд╣реИ рдФрд░ рд╣реИрд╢ рдЯреЗрдмрд▓ рдореЗрдВ рджреЗрдЦрдХрд░ рдореЗрд▓рд┐рдВрдЧ рд░реЛ рдорд┐рд▓рддреА рд╣реИрдВред
- рдорд░реНрдЬ рдЬреЙрдЗрдиреНрд╕ рд╕рд╛рдорд╛рдиреНрдпрддрдГ O(M+N) рд╣реЛрддреЗ рд╣реИрдВ, рдкрд░ рдпрд╣ рдЬреЙрдЗрди рдХреЙрд▓рдореНрд╕ рдкрд░ рдЗрдВрдбреЗрдХреНрд╕ рдФрд░тАФрдпрджрд┐ рдЗрдВрдбреЗрдХреНрд╕ рди рд╣реЛтАФрддреЛ рд░реЛ рдХреЗ рдЬреЙрдЗрди рдХреАрдЬрд╝ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реЙрд░реНрдЯ рд╣реЛрдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛:
- рдпрджрд┐ рджреЛрдиреЛрдВ рдЯреЗрдмрд▓реНрд╕ рдЬреЙрдЗрди рдХреАрдЬрд╝ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реЙрд░реНрдЯреЗрдб рд╣реИрдВ, рдЬрдЯрд┐рд▓рддрд╛ O(M+N)ред
- рдпрджрд┐ рджреЛрдиреЛрдВ рдкрд░ рдЗрдВрдбреЗрдХреНрд╕ рд╣реИ, рдЗрдВрдбреЗрдХреНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рдСрд░реНрдбрд░ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИтАФрд╕реЙрд░реНрдЯ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдПтАФрдЬрдЯрд┐рд▓рддрд╛ O(M+N)ред
- рдпрджрд┐ рдХрд┐рд╕реА рдкрд░ рдЗрдВрдбреЗрдХреНрд╕ рдирд╣реАрдВ рд╣реИ, рдкрд╣рд▓реЗ рджреЛрдиреЛрдВ рдХрд╛ рд╕реЙрд░реНрдЯ рд╣реЛрдЧрд╛тАФрдЬрдЯрд┐рд▓рддрд╛ O(M log M + N log N)уАВ
- рдпрджрд┐ рдХреЗрд╡рд▓ рдПрдХ рдкрд░ рдЗрдВрдбреЗрдХреНрд╕ рд╣реИ, рддреЛ рдмрд┐рдирд╛ рдЗрдВрдбреЗрдХреНрд╕ рд╡рд╛рд▓реА рдЯреЗрдмрд▓ рдХрд╛ рд╕реЙрд░реНрдЯ рд╣реЛрдЧрд╛тАФрдЬрдЯрд┐рд▓рддрд╛ O(M + N log N)уАВ
- рдиреЗрд╕реНрдЯреЗрдб рдЬреЙрдЗрдиреНрд╕ рд╕рд╛рдорд╛рдиреНрдпрддрдГ O(MN) рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рддрдм рдХреБрд╢рд▓ рд╣реИ рдЬрдм рдПрдХ рдпрд╛ рджреЛрдиреЛрдВ рдЯреЗрдмрд▓ рдЕрддреНрдпрдВрдд рдЫреЛрдЯреЗ рд╣реЛрдВ (рдЙрджрд╛. 10 рд░рд┐рдХреЙрд░реНрдб рд╕реЗ рдХрдо)тАФрдЬреЛ рдХрд┐ рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдореЗрдВ рдЖрдо рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рд╕рдмрдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдХреЗрд╡рд▓ рдПрдХ рд░реЛ рд▓реМрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИрдВред
рдпрд╛рдж рд░рдЦреЗрдВ: рдиреЗрд╕реНрдЯреЗрдб рдЬреЙрдЗрди рд╡рд╣ рд╣реИ рдЬреЛ рдПрдХ рдЯреЗрдмрд▓ рдХреА рд╣рд░ рд░рд┐рдХреЙрд░реНрдб рдХреА рддреБрд▓рдирд╛ рджреВрд╕рд░реА рдХреА рд╣рд░ рд░рд┐рдХреЙрд░реНрдб рд╕реЗ рдХрд░рддрд╛ рд╣реИред
рд▓реЙрдЧрд╛рд░рд┐рдердорд┐рдХ рдЯрд╛рдЗрдо: O(log (n))
рдХрд┐рд╕реА рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХрд╛ рд╕рдордп рдпрджрд┐ рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдХреЗ рд▓реЙрдЧрд░рд┐рджреНрдо рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдмрдврд╝рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рд▓реЙрдЧрд╛рд░рд┐рдердорд┐рдХ рдЯрд╛рдЗрдо рд╣реИ; рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдЯрд╛рдЗрдо рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд╛рдЗрдЬ рдХреЗ рд▓реЙрдЧрд░рд┐рджреНрдо рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рд╣реЛрдЧрд╛ред
рдпрд╣ рд▓реЙрдЧрд╛рд░рд┐рдердорд┐рдХ рдЬрдЯрд┐рд▓рддрд╛ рдЙрди рдкреНрд▓рд╛рдиреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реИ рдЬрд╣рд╛рдБ Index Scan рдпрд╛ рдХреНрд▓рд╕реНрдЯрд░реНрдб рдЗрдВрдбреЗрдХреНрд╕ рд╕реНрдХреИрди рд╣реЛрддрд╛ рд╣реИред рдХреНрд▓рд╕реНрдЯрд░реНрдб рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рд▓реАрдл рд▓реЗрд╡рд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рд░реЛрдЬрд╝ рд░рдЦрддрд╛ рд╣реИред рдХреНрд▓рд╕реНрдЯрд░реНрдб рдХрд┐рд╕реА рдЕрдиреНрдп рдЗрдВрдбреЗрдХреНрд╕ рдЬреИрд╕рд╛ рд╣реА рд╣реИтАФрдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдХреЙрд▓рдореНрд╕ рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рддтАФрдЬреЛ рдЗрдВрдбреЗрдХреНрд╕ рдХреА рдмрдирддреЗ рд╣реИрдВред рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдХреА рд╡рд╣реА рдХреА рдХреЙрд▓рдореНрд╕ рд╣реИрдВред рдХреНрд▓рд╕реНрдЯрд░реНрдб рдЗрдВрдбреЗрдХреНрд╕ рд╕реНрдХреИрди рдореВрд▓рддрдГ RDBMS рдХрд╛ рдХреНрд▓рд╕реНрдЯрд░реНрдб рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдКрдкрд░ рд╕реЗ рдиреАрдЪреЗ рдкрдврд╝рдирд╛ рд╣реИред
рдпрд╣ рдХреНрд╡реЗрд░реА рджреЗрдЦреЗрдВ, рдЬрд╣рд╛рдБ i_id рдкрд░ рдЗрдВрдбреЗрдХреНрд╕ рд╣реИтАФрд╕рд╛рдорд╛рдиреНрдпрддрдГ рдЬрдЯрд┐рд▓рддрд╛ O(log(n)):
SELECT i_stock FROM item WHERE i_id = N;
рдиреЛрдЯ: рдЗрдВрдбреЗрдХреНрд╕ рди рд╣реЛрдиреЗ рдкрд░ рдЬрдЯрд┐рд▓рддрд╛ O(n) рд╣реЛрддреАред
рдХреНрд╡рд╛рдбреНрд░реИрдЯрд┐рдХ рдЯрд╛рдЗрдо: O(n^2)
рдХрд┐рд╕реА рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХрд╛ рд╕рдордп рдпрджрд┐ рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдХреЗ рд╡рд░реНрдЧ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдмрдврд╝рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдХреНрд╡рд╛рдбреНрд░реИрдЯрд┐рдХ рдЯрд╛рдЗрдо рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП, рдХреНрд╡реЗрд░реА рдХрд╛ рд╕рдордп рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд╛рдЗрдЬ рдХреЗ рд╡рд░реНрдЧ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рд╣реЛрдЧрд╛ред
рдХреНрд╡рд╛рдбреНрд░реИрдЯрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛ рд╡рд╛рд▓реА рдХреНрд╡реЗрд░реА рдХрд╛ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдЙрджрд╛рд╣рд░рдг:
SELECT * FROM item, author WHERE item.i_a_id=author.a_id
рдиреНрдпреВрдирддрдо рдЬрдЯрд┐рд▓рддрд╛ O(n log(n)) рд╣реЛ рд╕рдХрддреА рд╣реИ, рдкрд░ рдЕрдзрд┐рдХрддрдо O(n^2) рддрдХ рдЬрд╛ рд╕рдХрддреА рд╣реИтАФрдЬреЙрдЗрди рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕ рдХреЗ рдЗрдВрдбреЗрдХреНрд╕ рдкрд░ рдирд┐рд░реНрднрд░ред
рд╕рд╛рд░рд╛рдВрд╢ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдпрд╣ рдЪреАрдЯ рд╢реАрдЯ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЗ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХреЗрдВ:

SQL рдЯреНрдпреВрдирд┐рдВрдЧ
рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдФрд░ рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдЖрдк рдЕрдкрдиреА SQL рдХреНрд╡реЗрд░реА рдХреЛ рдЖрдЧреЗ рднреА рдЯреНрдпреВрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдЕрдирд╛рд╡рд╢реНрдпрдХ рдмрдбрд╝реЗ рдЯреЗрдмрд▓реНрд╕ рдХреЗ рдлреБрд▓ рдЯреЗрдмрд▓ рд╕реНрдХреИрди рдХреА рдЬрдЧрд╣ рдЗрдВрдбреЗрдХреНрд╕ рд╕реНрдХреИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
- рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЯреЗрдмрд▓ рдЬреЙрдЗрди рдХрд╛ рдЗрд╖реНрдЯрддрдо рдХреНрд░рдо рдЕрдкрдирд╛ рд░рд╣реЗ рд╣реИрдВ;
- рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЗрд╖реНрдЯрддрдо рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ; рдФрд░
- рдЫреЛрдЯреЗ рдЯреЗрдмрд▓реНрд╕ рдХреЗ рдлреБрд▓ рдЯреЗрдмрд▓ рд╕реНрдХреИрди рдХреЛ рдХреИрд╢ рдХрд░реЗрдВред
SQL рдХреЛ рдЖрдЧреЗ рд▓реЗ рдЬрд╛рдирд╛
рдмрдзрд╛рдИ! рдЖрдк рдЗрд╕ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХреЗ рдЕрдВрдд рддрдХ рдкрд╣реБрдБрдЪ рдЧрдП рд╣реИрдВ, рдЬрд┐рд╕рдиреЗ рдЖрдкрдХреЛ SQL рдХреНрд╡реЗрд░реА рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдХреА рдПрдХ рдЭрд▓рдХ рджреАред рдЙрдореНрдореАрдж рд╣реИ рдЖрдкрдХреЛ рдПрдВрдЯреА-рдкреИрдЯрд░реНрдиреНрд╕, рдХреНрд╡реЗрд░реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рдФрд░ рд╡реЗ рдЯреВрд▓реНрд╕ рдЬрд┐рдирд╕реЗ рдЖрдк рдЕрдкрдиреЗ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреА рд╕рдореАрдХреНрд╖рд╛, рдЕрдиреБрдорд╛рди рдФрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВтАФрдЗрди рд╕рдмрдореЗрдВ рдЕрдзрд┐рдХ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдорд┐рд▓реА рд╣реЛрдЧреАред рдкрд░ рдЬрд╛рдирдиреЗ рдХреЛ рдмрд╣реБрдд рдХреБрдЫ рдФрд░ рднреА рд╣реИ! рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реЗрдВ рддреЛ R. Ramakrishnan рдФрд░ J. Gehrke рдХреА тАЬDatabase Management SystemsтАЭ рдкреБрд╕реНрддрдХ рдкрдврд╝реЗрдВред
рдЕрдВрдд рдореЗрдВ, StackOverflow рдХреЗ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдпрд╣ рдЙрджреНрдзрд░рдг рдЖрдкрдХреЗ рд▓рд┐рдП:
тАЬрдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рдПрдВрдЯреАрдкреИрдЯрд░реНрди рд╣реИтАФрдЕрдкрдиреА рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рди рдХрд░рдирд╛ред
рдпрд╣ рддрдм рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдЬрдм:
- рдЖрдкрдХреА рдХреНрд╡реЗрд░реА рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЯреЗрдмрд▓ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВред
- рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдЗрд╖реНрдЯрддрдо рд╣реИ, рдкрд░ рдЖрдк рдЕрдкрдиреА рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЬрд╣рдордд рдирд╣реАрдВ рдЙрдард╛рддреЗред
- рдЖрдк рдкрд╣рд▓реА рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХреНрд╡реЗрд░реА рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ, рдмрд┐рдирд╛ рдпрд╣ рдЬрд╛рдиреЗ рдХрд┐ рд╡рд╣ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдХрд┐рддрдиреЗ рдХрд░реАрдм рд╣реИ рдпрд╛ рдирд╣реАрдВредтАЭ
рдпрджрд┐ рдЖрдк SQL рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпреЗ DataCamp рдХреЛрд░реНрд╕ рдХрд░реЗрдВ:
SQL рдХреНрд╡реЗрд░реА рд▓рд┐рдЦрдиреЗ рд╕реЗ рдЬреБрдбрд╝реЗ FAQs
рдореИрдВ рдЕрдкрдиреА SQL рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХреИрд╕реЗ рдмреЗрд╣рддрд░ рдХрд░ рд╕рдХрддрд╛/рд╕рдХрддреА рд╣реВрдБ?
рдЕрдкрдиреА SQL рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдмреЗрд╣рддрд░ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ:┬а
- рдмрдбрд╝реЗ рдбреЗрдЯрд╛рд╕реЗрдЯреНрд╕ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдпрд╛ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- WHERE рдХреНрд▓реЙрдЬрд╝ рдореЗрдВ рдХреЙрд▓рдореНрд╕ рдкрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд░реБрдХ рд╕рдХрддрд╛ рд╣реИред
- EXPLAIN рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЗ рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрд╢рди рдкреНрд▓рд╛рди рдХреЛ рд╕рдордЭреЗрдВ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдмрд╛рдзрд╛рдУрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВред
- LIMIT рдФрд░ OFFSET рдХрд╛ рдЙрдкрдпреБрдХреНрдд рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЬрд╝рд░реВрд░рдд рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдбреЗрдЯрд╛ рди рд▓рд╛рдПрдБред
- рд╕рдмрдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдФрд░ рдбрд┐рд░рд╛рдЗрд╡реНрдб рдЯреЗрдмрд▓реНрд╕ рдХрд╛ рд╕реАрдорд┐рдд рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдорд╣рдБрдЧрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдореИрдВ рдЕрдкрдиреА SQL рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рдкрдардиреАрдп рдХреИрд╕реЗ рдмрдирд╛ рд╕рдХрддрд╛/рд╕рдХрддреА рд╣реВрдБ?
рдЗрди рдЯрд┐рдкреНрд╕ рд╕реЗ рдЖрдкрдХреА SQL рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЕрдзрд┐рдХ рдкрдардиреАрдп рдмрдиреЗрдВрдЧреА:┬а
- рдЯреЗрдмрд▓реНрд╕, рдХреЙрд▓рдореНрд╕ рдФрд░ рдПрд▓рд┐рдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЕрд░реНрдердкреВрд░реНрдг рдФрд░ рд╡рд░реНрдгрдирд╛рддреНрдордХ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рд╡реНрд╣рд╛рдЗрдЯ рд╕реНрдкреЗрд╕ рдФрд░ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХреА рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рд╕реНрдкрд╖реНрдЯ рд╣реЛред
- рдЕрдкрдиреА рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХрд╛ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдФрд░ рддрд░реНрдХ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдореЗрдВрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рд░реАрдбреЗрдмрд┐рд▓рд┐рдЯреА рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП SQL рдХреАрд╡рд░реНрдбреНрд╕ рдХреЛ рдЕрдкрд░рдХреЗрд╕ рдФрд░ рдмрд╛рдХреА рд╕рдмрдХреЛ рд▓реЛрдЕрд░рдХреЗрд╕ рдореЗрдВ рд▓рд┐рдЦреЗрдВред
рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп SQL рдХреНрд╡реЗрд░реА рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рдХреИрд╕реЗ рдмрдЪ рд╕рдХрддрд╛/рд╕рдХрддреА рд╣реВрдБ?
SQL рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рд▓рд┐рдЦрддреЗ рд╕рдордп рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рдЗрд╕ рддрд░рд╣ рдмрдЪреЗрдВ:┬а
- рд╕рд╣реА рддреБрд▓рдирд╛ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдЙрджрд╛., = рдХреА рдЬрдЧрд╣ == рдирд╣реАрдВ)ред
- рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рд┐рдЯрд░реЗрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЧрд▓ рдХреЛрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдбрдмрд▓ рдХреЛрдЯреНрд╕ рдХрд╛ рдирд╣реАрдВред
- NULL рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рд╡рдзрд╛рдиреА рд░рдЦреЗрдВтАФрддреБрд▓рдирд╛рдУрдВ рдореЗрдВ рд╡реЗ рдЕрдиреНрдп рдорд╛рдиреЛрдВ рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗред
- рдХреЙрд▓рдореНрд╕ рдФрд░ рдЯреЗрдмрд▓реНрд╕ рдХреЛ рд╕реАрдзреЗ рд░реАрдиреЗрдо рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп AS рд╕реЗ рдПрд▓рд┐рдпрд╛рд╕ рджреЗрдВред
- рдХреНрд▓реЙрдЬрд╝ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдореВрд╣рд┐рдд рдФрд░ рдХреНрд░рдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрд╖реНрдардХреЛрдВ (parentheses) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдореИрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ SQL рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдХреИрд╕реЗ рд▓рд┐рдЦ рд╕рдХрддрд╛/рд╕рдХрддреА рд╣реВрдБ?
рдЕрдкрдиреА SQL рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдореЗрдВ рдЬрдЯрд┐рд▓рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдХреБрдЫ рддрд░реАрдХреЗ:
- рдХрдВрдбреАрд╢рдирд▓ рд▓реЙрдЬрд┐рдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП CASE рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рдХрдИ SELECT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП UNION рдФрд░ UNION ALL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рдореБрдЦреНрдп рдХреНрд╡реЗрд░реА рдХреЗ рднреАрддрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рд░рд┐рдЬрд╝рд▓реНрдЯ рд╕реЗрдЯ рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ рдЧрдгрдирд╛рдПрдБ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрдб рдХреНрд╡реЗрд░реА рд▓реИрдВрдЧреНрд╡реЗрдЬ (SQL) рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рдХреМрд╢рд▓ рд╣реИ рдФрд░ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдпрд╣ рдХреМрд╢рд▓ рд╕реАрдЦрдирд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕реАрдзрд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рдХрд┐ SQL рд╕рд┐рд░реНрдл рдХреНрд╡реЗрд░реА рд▓рд┐рдЦрдиреЗ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИтАФрдпрд╣ рддреЛ рдмрд╕ рдкрд╣рд▓реА рд╕реАрдврд╝реА рд╣реИред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдХрд┐ рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдкрд░рдлреЙрд░реНрдореЗрдВрдЯ рд╣реЛрдВ рдпрд╛ рдЖрдкрдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛрдВ, рдПрдХ рдЕрд▓рдЧ рд╣реА рдкрд╣рд▓реВ рд╣реИред
рдЗрд╕реАрд▓рд┐рдП рдпрд╣ SQL рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЖрдкрдХреЛ рдХреБрдЫ рдРрд╕реЗ рдЪрд░рдгреЛрдВ рдХреА рдЭрд▓рдХ рджреЗрдЧрд╛ рдЬрд┐рдирд╕реЗ рд╣реЛрдХрд░ рдЖрдк рдЕрдкрдиреА рдХреНрд╡реЗрд░реА рдХрд╛ рдЖрдХрд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: