рд░рд┐рдлреИрдХреНрдЯрд┐рдВрдЧ рдХрд╛ рдЕрднреНрдпрд╛рд╕ред рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░реНрдп





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



select count(*) n from products where category_id = ?
      
      







рдмреЗрд╢рдХ, рд╕рд╡рд╛рд▓ рдпрд╣ рдерд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред



рдПрдХ рд╕рдордЭрджрд╛рд░ рдкрд╛рдардХ рддреБрд░рдВрдд рдбреАрдмреАрдПрдордПрд╕ рдЗрдВрдбреЗрдХреНрд╕, рд╕рдВрдХреЗрдд рдФрд░ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдЬ рдХрд╣рд╛рдиреА рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдЧреАред рд╡реИрд╕реЗ рднреА, рдпрд╣ рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╡рд┐рд╖рдп рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред



рдЖрдЬ рд╣рдо рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдиреЗ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрд╛рдлреА рд╡реГрджреНрдзрд┐ рдХреА рд╣реИред







рдпрд╣ рдХреНрд╡реЗрд░реА рдкреБрд░рд╛рдиреЗ рдХреЛрдб рдореЗрдВ рдереА рдЬреЛ SQLConsts рд╡рд░реНрдЧ рдореЗрдВ, рдЕрдиреНрдп рдЕрдиреНрдп рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдмреАрдЪ, рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдирд╣реАрдВ рдЪрдврд╝ рд░рд╣реА рдереА:



 public class SQLConsts { public static final String PRODUCTS_SQL = "select count(*) n from products where category_id = ?"; ...
      
      







рдФрд░ рдпрд╣ рдПрдХ рдЕрдиреНрдп рд╡рд░реНрдЧ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛



 public class CategoryRepository { ... private boolean isCategoryVisible(int categoryID) { ResultSet resultSet = executeQuery(SQLConsts.PRODUCTS_SQL, categoryID); int n = resultSet.getIntegerFieldByName("n"); return n > 0; } ...
      
      







рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрдиреБрднрд╡реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреНрд╡реЗрд░реА рдореЗрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдХреЗрд╡рд▓ рд╢реВрдиреНрдп рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╣реИред



рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдорд╣рд╛рдХрд╛рд╡реНрдп рдХреИрд╕реЗ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛? рдЧрд┐рдЯ-рд▓реЙрдЧ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╢реБрд░реВ рдореЗрдВ isCategoryV рдЕрджреГрд╢реНрдп рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рддрд░реНрдХ рдерд╛ рдЬреЛ рдЗрд╕рдХреА рдЧрдгрдирд╛ рдореЗрдВ рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рддрдм рдЙрдиреНрд╣реЛрдВрдиреЗ рдЬрдЯрд┐рд▓ рддрд░реНрдХ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛, рдФрд░ рдХреЗрд╡рд▓ n > 0



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



рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ SQL рдХреНрд╡реЗрд░реА рдХреЛ рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рджреЗрдЦрд╛, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдерд╛ред



рдЕрдм рдЬрдм рдХреЛрдб рдХреЗ рдпреЗ рджреЛ рдЯреБрдХрдбрд╝реЗ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╣реИрдВ, рддреЛ рдЕрдиреБрдХреВрд▓рди рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдирддреАрдЬрддрди, isCategoryVoice рд╡рд┐рдзрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛: select count(*)



рдПрдХ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ where exists



, рдЬрд┐рд╕рдиреЗ рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдПрдХ рдареЛрд╕ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджрд┐рдпрд╛; рдФрд░ SQLConsts рд╡рд░реНрдЧ рдмрд╛рдж рдореЗрдВ рдирд┐рдкрдЯрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред



 public class CategoryRepository { ... private boolean isCategoryVisible(int categoryID) { ResultSet resultSet = executeQuery( "select null from dual where exists (select null from products where category_id = ?)", categoryID ); return !resultSet.isEmpty(); } ...
      
      







рдЗрд╕рд▓рд┐рдП рдирд┐рдпрдо: тАЬрдЬреЛ рдПрдХ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ рдЙрд╕реЗ рдПрдХ рд╕реНрдерд╛рди рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдФрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЖрдо рддреМрд░ рдкрд░ рдПрдХ рд╕рд╛рде рдмрджрд▓рддреЗ рд╣реИрдВ, тАЭрдорд╛рд░реНрдЯрд┐рди рдлрд╛рдЙрд▓рд░ рдиреЗ рдЕрдкрдиреА рдкреБрд╕реНрддрдХ рд░рд┐рдлреИрдХреНрдЯрд┐рдВрдЧ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИред рдореМрдЬреВрджрд╛ рдХреЛрдб рдореЗрдВ рд╕реБрдзрд╛рд░ тАЭрджрд╕ рд╕рд╛рд▓ рдкрд╣рд▓реЗред



рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЗрдЯрд╛ (SQL рдХреНрд╡реЗрд░реА) рдХреЛ рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - SQLConsts, рдФрд░ рдлрд╝рдВрдХреНрд╢рди isCategoryV рдЕрджреГрд╢реНрдп рд╣реИ, рдЬреЛ рдЗрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ - рджреВрд╕рд░реЗ рдореЗрдВ: CategoryRepository рдореЗрдВред рдлрд╛рдЙрд▓рд░ рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдИрд░реНрд╖реНрдпрд╛ рдХрд╣рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЙрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдирд╣реАрдВ, рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рд╕реНрдерд┐рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЕрдиреНрдп рдореЗрдВ рдЕрдзрд┐рдХ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдИрд░реНрд╖реНрдпрд╛ рдбреЗрдЯрд╛ рд╣реЛрддреА рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИ: isCategoryVouble envies рдПрдХ рдФрд░ SQLConsts рд╡рд░реНрдЧ SQL рдХреНрд╡реЗрд░реА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЗрд╕ рд╡рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬреЛ isCategoryV рдЕрджреГрд╢реНрдп рд╣реИ, рдЙрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред



рдПрдХ рдмрд╛рд░ рдлрд┐рд░: рдЬреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реИ рдЙрд╕реЗ рдПрдХ рд╕реНрдерд╛рди рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдЗрд╕реЗ рдПрдХ рдордВрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рджреЛрд╣рд░рд╛рдПрдВ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдирд┐рдпрдо рдЖрдкрдХреА рдЖрджрдд рдирд╣реАрдВ рдмрди рдЬрд╛рддрд╛ред рдЬрдм рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдЕрд╡рдЪреЗрддрди рд╕реНрддрд░ рдкрд░ рдЗрд╕рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЦреБрдж рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рдХреНрд▓реАрдирд░ рдХреИрд╕реЗ рдмрдирддрд╛ рд╣реИред



рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдИрд░реНрд╖реНрдпрд╛



рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд▓реЗрдЦ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░реНрдп рдХрд╛ рдПрдХ рдЧреИрд░-рд╢рд╛рд╕реНрддреНрд░реАрдп рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдореВрд▓ рдореЗрдВ, рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░реНрдп рдХреЛ "рдлрд╝реАрдЪрд░ рдИрд░реНрд╖реНрдпрд╛" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╢рд╛рдмреНрджрд┐рдХ рдЕрд░реНрде "рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдИрд░реНрд╖реНрдпрд╛" рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдлрд╛рдЙрд▓рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдИрд░реНрд╖реНрдпрд╛ рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпреЛрдВ / рд╡рд┐рдзрд┐рдпреЛрдВ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдкреВрд░реА рдХрдХреНрд╖рд╛рдУрдВ рддрдХ рднреА рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдлрд╛рдЙрд▓рд░ рдЦреБрдж рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХреЗрд╡рд▓ рддрд░реАрдХреЛрдВ рд╕реЗ рдИрд░реНрд╖реНрдпрд╛ рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджреЗрддреЗ рд╣реИрдВред



рдЗрд╕рд▓рд┐рдП, рд╢рд╛рдпрдж рд╣рдореЗрдВ рдкреВрд░реЗ рдИрд░реНрд╖реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рд╢реНрд░реЗрдгреАрдмрджреНрдз рд╢реНрд░реЗрдгреА, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рд╕рднреА рддрд░реАрдХреЛрдВ рдореЗрдВ SQLConsts рд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ SQLConsts рдиреЗ рд╕реНрд╡рдпрдВ рдЗрди рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред



рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЗрд╕ рдкреНрд░рд╢реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рджреГрд╖реНрдЯрд┐ рдпрд╣рд╛рдБ рд╣реИ:

habrahabr.ru/post/220883/#comment_7547819



рдкреБрдирд╢реНрдЪ



рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЪрд░ n



рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, productCount



, рдФрд░ productCount



рд╕реНрдерд┐рд░рд╛рдВрдХ PRODUCT_COUNT_IN_CATEGORY



? рдлрд┐рд░ productCount > 0



рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдЙрд╕реЗ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдорд╛рддреНрд░рд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред



рдЗрд╕рд▓рд┐рдП, рджреВрд╕рд░рд╛ рдирд┐рдпрдо: рдЪрд░, рд╕реНрдерд┐рд░рд╛рдВрдХ, рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдирд╛рдо рджреЗрдВ ред рд╢рд╛рдпрдж рдпрд╣ рдирд┐рдпрдо рдкрд╣рд▓реЗ рдХреЗ рд╢рд╛рд╕рди рд╕реЗ рднреА рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред



рдЕрджреНрдпрддрди



рдЬреЛ рд▓реЛрдЧ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╢реИрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо exists



ред



exists



рдСрдкрд░реЗрдЯрд░ true



рд▓реМрдЯреЗрдЧрд╛ рдпрджрд┐ рдЙрдкрдХреБрдВрдЬреА рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд░рд┐рдХреЙрд░реНрдб category_id = рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ?

рдЗрд╕ рдкреНрд░рдХрд╛рд░, DBMS рд╕рдмрдХреНрд╡реЗрд░реА рд╕реЗ рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛: рдпрд╣ рдкрд╣рд▓рд╛ рд░рд┐рдХреЙрд░реНрдб рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдЬреЛ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред



рдЗрд╕рд▓рд┐рдП, рдпреЗ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡реА рд╣реЛрдВрдЧреЗ:



 select null from dual where exists (select null from products where category_id = ?)
      
      







 select null from products where category_id = ? and rownum = 1
      
      







* Oracle рдореЗрдВ rownum = 1



MySQL рдореЗрдВ limit 1



рдХреЗ рд╕рдорд╛рди рд╣реИред



рд▓реЗрдХрд┐рди where NOT exists



рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ where NOT exists



рд╕рднреА рдЙрдкрдпреБрдХреНрдд рдЕрднрд┐рд▓реЗрдЦреЛрдВ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ rownum = 1



рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред



рдЕрджреНрдпрддрди реи



рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЬреЛ рдЗрд╕ рдмрд╛рдд рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реНрд░реЗрдгреА_рдЖрдИрдбреА рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдирд╣реАрдВ, рдореИрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рд╛рдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред



SQL рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рддрд░реНрдХ рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдореВрд▓ рдХреНрд╡реЗрд░реА рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



All Articles