SQL рдХреНрд╡реЗрд░реАрдЬрд╝ рддреЗрдЬрд╝ рд╣реИрдВред рднрд╛рдЧ 1

рдкрд░рд┐рдЪрдп


рдПрд╕рдХреНрдпреВрдПрд▓ рднрд╛рд╖рд╛ рд╡реНрдпрд╛рдкрд╛рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХреЛрдВ рдФрд░ рдЗрд╕рдХреА рд╕рд╛рджрдЧреА, рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рд╡реНрдпрд╛рдкрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЬреАрд╡рди рдореЗрдВ рдмрд╣реБрдд рджреГрдврд╝рддрд╛ рд╕реЗ рдПрдХреАрдХреГрдд рд╣реИред рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрднрд╡ рд╕реЗ, рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдПрд╕рдХреНрдпреВрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдбрд╛рдЙрдирд▓реЛрдб, рд╕реНрдЯреЛрд░рдлреНрд░рдВрдЯ (рдЗрди рд╕реНрдЯреЛрд░рдлреНрд░рдВрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде) рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╢рд╛рд╕рди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЪреВрдВрдХрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рджреИрдирд┐рдХ рдХрд╛рд░реНрдп рдбреЗрдЯрд╛ рдЕрдкрд▓реЛрдб рдФрд░ рд╕реНрдЯреЛрд░рдлреНрд░рдВрдЯ рдХреЗ рд╕рд╛рде рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЗрд╕рд▓рд┐рдП SQL рдХреНрд╡реЗрд░реА рд▓рд┐рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдПрдХ рдХрд╛рд░рдХ рдмрди рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдЙрдореНрдореАрджрд╡рд╛рд░ рдпрд╛ рддреЛ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдпрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рджреБрдЦрдж рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЗрд╕реЗ рдПрдХ рдЫрд╛рддреНрд░ рдмреЗрдВрдЪ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрдЪреНрдЫреА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕реАрдЦрдирд╛ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рддреЗрдЬрд╝ рд╣реИ, рдФрд░ рдХреНрд╡реЗрд░реА рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕рд░рд▓ рдФрд░ рд╕реАрдзрд╛ рд╣реИред рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдЪ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред

рдореИрдВрдиреЗ SQL рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЛ рддреАрди рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рдореВрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ 80-90% рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд▓реЗ рджреЛ рднрд╛рдЧ рд╕рдмрдХреНрд╡реЗрд░реА, Join'am рдФрд░ рд╡рд┐рд╢реЗрд╖ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реЛрдВрдЧреЗред рдЧрд╛рдЗрдб рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреМрд╢рд▓ рдХреЗ рд╢рд╕реНрддреНрд░рд╛рдЧрд╛рд░ рдореЗрдВ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП SQL рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЬрд▓реНрджреА рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрднреНрдпрд╛рд╕ рдХрд░рдирд╛ рд╣реИред

рдЕрднреНрдпрд╛рд╕


рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ SQL рдЕрднреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдПрдХ рдЦреБрд▓реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдЪрдп рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рдПрдЧреАред рдЖрдкрдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдкреНрд░рднрд╛рд╡реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдП рдЯреИрдм рдореЗрдВ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдХреЛ рдЦреЛрд▓реЗрдВ рдФрд░ рддреБрд░рдВрдд рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдПрдВ, рдЗрд╕рд╕реЗ рдЖрдк рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдореЗрдХрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрд╡рдпрдВ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдБ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдХреНрд╡реЗрд░реА рд╕рдВрдкрд╛рджрдХ рдХреЛ рд╕реНрд╡рдпрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдХреНрд░реАрди рдХреЗ рдордзреНрдп рднрд╛рдЧ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ, рдбреЗрдЯрд╛рдмреЗрд╕ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╕рд╣реА рднрд╛рдЧ рдореЗрдВ рд╣реИред

Sql рдХреНрд╡реЗрд░реА рд╕рдВрд░рдЪрдирд╛


рдЕрдиреБрд░реЛрдз рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

SELECT ('  *    ; ') FROM ('; ') WHERE ('/, , city = 'Moscow'; ') GROUP BY (',     ; ') HAVING ('/    ; ') ORDER BY (',     ; ') 

рдЪрд▓реЛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдЕрдиреБрд░реЛрдз рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╢рд┐рдХреНрд╖рдг рдЖрдЗрдЯрдо CAPS рджреНрд╡рд╛рд░рд╛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЪрдпрди рдХрд░реЗрдВ, рд╕реЗ


рдЪрдпрдирд┐рдд, рдХреНрд╡реЗрд░реА рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рддрддреНрд╡ рдЬреЛ рдЪрдпрдирд┐рдд рдХреЙрд▓рдо, рдЙрдирдХреЗ рдХреНрд░рдо рдФрд░ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рд╕рднреА рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ (рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдЧрд┐рдд):

 SELECT * FROM Customers 

рд╕реНрддрдВрдн рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ CustomerID, CustomerName рдЧреНрд░рд╛рд╣рдХ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ:

 SELECT CustomerID, CustomerName FROM Customers 


рдХрд╣рд╛рдВ


рдЬрд╣рд╛рдВ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреНрд╡реЗрд░реА рддрддреНрд╡ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд┐рддрд┐ рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдХреНрд╕рд░, рдЬрд╣рд╛рдВ рддрддреНрд╡ рдХреЗ рдЕрдВрджрд░, IN / NOT IN рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рдХреЙрд▓рдо рдХреЛ рдХрдИ рдорд╛рдиреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ / рдпрд╛ рдХрд┐рд╕реА рд╕реНрддрдВрдн рдХреЛ рдХрдИ рд╕реНрддрдВрднреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рд╢рд░реНрдд рдФрд░ рдПрдХ рдорд╛рди рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ:

 select * from Customers WHERE City = 'London' 

IN (рд╕рдорд╛рд╡реЗрд╢рди) рдпрд╛ NOT IN (рдЕрдкрд╡рд╛рдж) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╢рд░реНрдд рдФрд░ рдХрдИ рдорд╛рдиреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛:

 select * from Customers where City IN ('London', 'Berlin') 

 select * from Customers where City NOT IN ('Madrid', 'Berlin','Bern') 

рдФрд░ (рдпрд╛ рд╕рднреА рд╢рд░реНрддреЛрдВ рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рд╣реИрдВ) рдпрд╛ (рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╢рд░реНрдд рд╕рдВрддреБрд╖реНрдЯ рд╣реИ) рдФрд░ рдХрдИ рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдИ рд╢рд░реНрддреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛:

 select * from Customers where Country = 'Germany' AND City not in ('Berlin', 'Aachen') AND CustomerID > 15 

 select * from Customers where City in ('London', 'Berlin') OR CustomerID > 4 

рдЧреНрд░реБрдк рдмрд╛рдп


GROUP BY рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреНрд╡реЗрд░реА рддрддреНрд╡ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рд╡рд╛рдВрдЫрд┐рдд рдХреЙрд▓рдо рджреНрд╡рд╛рд░рд╛ рдПрдХрддреНрд░реАрдХрд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╢рд╣рд░ рдореЗрдВ рдХрд┐рддрдиреЗ рдЧреНрд░рд╛рд╣рдХ рд░рд╣рддреЗ рд╣реИрдВ)ред

рдЧреНрд░реБрдк рдмрд╛рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ:

  1. рдХрд╛рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрддрдВрднреЛрдВ рдХреА рд╕реВрдЪреА SELECT рдХреЗ рдЕрдВрджрд░ рдФрд░ GROUP BY рдХреЗ рдЕрдВрджрд░ рд╕рдорд╛рди рдереА,
  2. рдХреБрд▓ рдлрд╝рдВрдХреНрд╢рди (SUM, AVG, COUNT, MAX, MIN) рдХреЛ рд╕реНрддрдВрдн рдХреЗ рд╕рд╛рде SELECT рдХреЗ рдЕрдВрджрд░ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред

рд╢рд╣рд░ рджреНрд╡рд╛рд░рд╛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╕рдореВрд╣рди:

 select City, count(CustomerID) from Customers GROUP BY City 

рджреЗрд╢ рдФрд░ рд╢рд╣рд░ рджреНрд╡рд╛рд░рд╛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╕рдореВрд╣рди:

 select Country, City, count(CustomerID) from Customers GROUP BY Country, City 

рд╡рд┐рднрд┐рдиреНрди рд╕рдордЧреНрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЙрддреНрдкрд╛рдж рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдмрд┐рдХреНрд░реА рд╕рдореВрд╣: рдЗрд╕ рдЙрддреНрдкрд╛рдж рдХреЗ рд╕рд╛рде рдЖрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдмреЗрдЪреЗ рдЧрдП рдЯреБрдХрдбрд╝реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛:

 select ProductID, COUNT(OrderID), SUM(Quantity) from OrderDetails GROUP BY ProductID 

рд╕реНрд░реЛрдд рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдмрд┐рдХреНрд░реА рд╕рдореВрд╣рдиред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрддреНрдкрд╛рджрди рдЬрд░реНрдорди рд╢рд╣рд░реЛрдВ рдореЗрдВ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реЛрдЧреА:

 select City, count(CustomerID) from Customers WHERE Country = 'Germany' GROUP BY City 

AS рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдПрдХрддреНрд░рд┐рдд рдХреЙрд▓рдо рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдПрдХрддреНрд░рд┐рдд рдХреЙрд▓рдо рдХрд╛ рдирд╛рдо рд▓рд╛рдЧреВ рдПрдЧреНрд░реАрдЧреЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рдЬреЛ рдЖрдЧреЗ рдзрд╛рд░рдгрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

 select City, count(CustomerID) AS Number_of_clients from Customers group by City 

рд╣реЛрдиреЗ


HAVING рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреНрд╡реЗрд░реА рддрддреНрд╡ рд╣реИ рдЬреЛ рд╕рдореВрд╣реАрдХреГрдд рдбреЗрдЯрд╛ рдХреЗ рд╕реНрддрд░ рдкрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, WHERE, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рд╕реНрддрд░ рдЕрдзрд┐рдХ рд╣реИ)ред

рд╢рд╣рд░ рджреНрд╡рд╛рд░рд╛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХрддреНрд░рд┐рдд рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдЫрд╛рдирдирд╛, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо рдХреЗрд╡рд▓ рдЙрди рд╢рд╣рд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдХрдо рд╕реЗ рдХрдо 5 рдЧреНрд░рд╛рд╣рдХ рд▓реЛрдб рд╣реЛ рд░рд╣реЗ рд╣реИрдВ:

 select City, count(CustomerID) from Customers group by City HAVING count(CustomerID) >= 5 


HAVING рдХреЗ рдЕрдВрджрд░ рдПрдХ рдкреБрдирд░реНрдирд╛рдорд┐рдд рдХреЙрд▓рдо рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдПрдХрддреНрд░реАрдХрд░рдг рдирд┐рд░реНрдорд╛рдг рд╕рдВрдЦреНрдпрд╛ (CustomerID) рдФрд░ рдирдпрд╛ рдХреЙрд▓рдо рдирд╛рдо рд╕рдВрдЦреНрдпрд╛_of_clients рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 select City, count(CustomerID) as number_of_clients from Customers group by City HAVING number_of_clients >= 5 

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреНрд╡реЗрд░реА рдЬрд┐рд╕рдореЗрдВ WHERE рдФрд░ HAVING рд╣реИред рдЗрд╕ рдХреНрд╡реЗрд░реА рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реБрдЖрддреА рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдкрд╣рд▓реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╢рд╣рд░ рджреНрд╡рд╛рд░рд╛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рд╡реЗ рд╢рд╣рд░ рд╣реА рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╕реЗ рдХрдо 5 рд╣реИ:

 select City, count(CustomerID) as number_of_clients from Customers WHERE CustomerName not in ('Around the Horn','Drachenblut Delikatessend') group by City HAVING number_of_clients >= 5 

рдЖрджреЗрд╢ рджреНрд╡рд╛рд░рд╛


ORDER BY рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреНрд╡реЗрд░реА рддрддреНрд╡ рд╣реИ рдЬреЛ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

рдПрдХ рдХреЙрд▓рдо рджреНрд╡рд╛рд░рд╛ рдЫрдБрдЯрд╛рдИ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдгред рдЗрд╕ рдЕрдиреБрд░реЛрдз рдореЗрдВ, рдЧреНрд░рд╛рд╣рдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╢рд╣рд░ рджреНрд╡рд╛рд░рд╛ рдЫрдБрдЯрд╛рдИ рдХреА рдЬрд╛рддреА рд╣реИ:

 select * from Customers ORDER BY City 

рдЖрдк рдХрдИ рдХреЙрд▓рдореЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЙрд▓рдореЛрдВ рдХреЗ рдХреНрд░рдо рдореЗрдВ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рд╣реЛрддреА рд╣реИ:

 select * from Customers ORDER BY Country, City 

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЫрд╛рдВрдЯрдирд╛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрд░реЛрд╣реА рд╣реИ рдФрд░ рдкрд╛рда рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рд╣реИред рдпрджрд┐ рд░рд┐рд╡рд░реНрд╕ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ ORDER BY рдХреНрд▓реЙрдЬрд╝ рдореЗрдВ, рдХреЙрд▓рдо рдирд╛рдо рдХреЗ рдмрд╛рдж, DESC рдЬреЛрдбрд╝реЗрдВ:

 select * from Customers order by CustomerID DESC 

рдПрдХ рдХреЙрд▓рдо рджреНрд╡рд╛рд░рд╛ рд░рд┐рд╡рд░реНрд╕ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдФрд░ рджреВрд╕рд░реЗ рджреНрд╡рд╛рд░рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЙрд░реНрдЯрд┐рдВрдЧ:

 select * from Customers order by Country DESC, City 

рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ


JOIN - рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрддреНрд╡ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЛрдиреЛрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдореМрдЬреВрдж рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреБрдВрдЬреА рдПрдХ рдмрдпрд╛рди рд╕реЗ рдкрд╣рд▓реЗ рд╣реИред

рдПрдХ рдХреНрд╡реЗрд░реА рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдкреНрд░рдореБрдЦ CustomerID рджреНрд╡рд╛рд░рд╛ рдСрд░реНрдбрд░ рдФрд░ рдХрд╕реНрдЯрдорд░ рдЯреЗрдмрд▓ рдХреЛ рдорд┐рд▓рд╛рддреЗ рд╣реИрдВ, рдФрд░ рдореЗрдЬ рдХрд╛ рдирд╛рдо рдбреЙрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдВрдЬреА рдХреЗ рдХреЙрд▓рдо рдирд╛рдореЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ:

 select * from Orders JOIN Customers ON Orders.CustomerID = Customers.CustomerID 

рдЕрдХреНрд╕рд░ рдПрдХ рд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рджреВрд╕рд░реЗ рд╕реЗ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдореИрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХрд╛рд░реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред INNER JOIN - рджреВрд╕рд░реЗ рд╕реЗ рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЗрдмрд▓ рдореИрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреМрд░рд╛рд╣рд╛, RIGHT / LEFT JOIN,

 select * from Orders join Customers on Orders.CustomerID = Customers.CustomerID where Customers.CustomerID >10 

рд╕рдВрдкреВрд░реНрдг JOIN рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрдВрджрд░, рдпрд╣ рддрддреНрд╡ рд╕реЗ рддрддреНрд╡ рдХреЗ рдмрд╛рдж рдПрдореНрдмреЗрдбреЗрдб рд╣реИ, рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЕрдиреБрд░реЛрдз:

рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ JOIN рдХреЛ рдиреАрдЪреЗ рджреА рдЧрдИ рдЕрджреНрднреБрдд рддрд╕реНрд╡реАрд░ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо JOIN рдкреНрд░рдХрд╛рд░реЛрдВ рдФрд░ рдиреЗрд╕реНрдЯреЗрдб рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рдкреНрд░рд╢реНрди / рд╕реБрдЭрд╛рд╡ рд╣реИрдВ, рддреЛ рд╣рдореЗрд╢рд╛ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВ!

Source: https://habr.com/ru/post/hi480838/


All Articles