CodeGym/Java Course/All lectures for BN purposes/āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ—ā§āĻ°ā§āĻĒāĻŋāĻ‚

āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ—ā§āĻ°ā§āĻĒāĻŋāĻ‚

āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨

5.1 āĻĨāĻžāĻ•āĻžāĻ° āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ

āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛-āĻ āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ†āĻ›ā§‡ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ GROUP BY, āĻāĻ•ā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ HAVINGāĨ¤

āĻāĻ° āĻ…āĻ°ā§āĻĨā§‡, āĻāĻŸāĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻžāĻĻā§ƒāĻļā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ WHEREāĨ¤ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° WHEREāĻ—ā§āĻ°ā§āĻĒ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°āĻŋ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ HAVINGāĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯āĻž āĻ—ā§āĻ°ā§āĻĒ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻ°ā§‡āĻ•āĻ°ā§āĻĄā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ—ā§āĻ°ā§āĻĒāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻŋāĻ‚ āĻ—ā§āĻ°ā§āĻĒāĻŋāĻ‚ āĻĢāĻ˛āĻžāĻĢāĻ˛āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĻā§ƒāĻļā§āĻ¯āĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

SELECT columns
FROM table
WHERE condition
GROUP BY columns
HAVING condition

HAVINGāĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡ āĻĨāĻžāĻ•āĻ˛ā§‡āĻ‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ GROUP BYāĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻ˛āĻŋāĻ–āĻŋ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻŦāĻ›āĻ°ā§‡āĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‹āĻ—āĻ•ā§ƒāĻ¤ āĻ•āĻ°ā§āĻŽāĻšāĻžāĻ°ā§€āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻŋāĨ¤

SELECT
YEAR(join_date) AS hire_year,
COUNT(*) AS total
FROM employee
GROUP BY hire_year

āĻāĻŦāĻ‚ āĻāĻ‡ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛:

āĻ­āĻžāĻĄāĻŧāĻž_āĻŦāĻ›āĻ° āĻŽā§‹āĻŸ
2012 1
2013 1
2014 1
2015 2
2018 1

āĻāĻŦāĻ‚ āĻāĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ‡ āĻ¯ā§‡ āĻŦāĻ›āĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻ• āĻŦāĻž āĻ•āĻŽ āĻ•āĻ°ā§āĻŽāĻšāĻžāĻ°ā§€ āĻ¨āĻŋāĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

SELECT
YEAR(join_date) AS hire_year,
COUNT(*) AS total
FROM employee
GROUP BY hire_year
HAVING total > 1

āĻāĻŦāĻ‚ āĻāĻ‡ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛:

āĻ­āĻžāĻĄāĻŧāĻž_āĻŦāĻ›āĻ° āĻŽā§‹āĻŸ
2015 2

5.3 āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ†āĻĻā§‡āĻļ

āĻ¸āĻ āĻŋāĻ• āĻāĻŦāĻ‚ āĻĻāĻ•ā§āĻˇ SQL āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻ˛āĻŋāĻ–āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦā§āĻāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ SQL āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§‡āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻ•āĻ ā§‹āĻ°āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ‡āĻšā§āĻ›āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻĒā§āĻ¨āĻ°ā§āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ†āĻĻā§‡āĻļ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¨āĻž.

āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻāĻ‡ āĻ•ā§āĻ°āĻŽā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ§āĻžāĻĒā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

  1. āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ 1 - āĻ¸āĻžāĻ°āĻŋ āĻ†āĻ¨āĻž
    • āĻĒā§āĻ°āĻĨāĻŽā§‡, āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻžāĻ°āĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
    • āĻ¤āĻžāĻ°āĻĒāĻ° āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
    • āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻžāĻ°āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡, āĻ•ā§‡āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§‡āĻ‡āĻ—ā§āĻ˛āĻŋāĻ‡ āĻĨāĻžāĻ•ā§‡ āĻ¯āĻž āĻļāĻ°ā§āĻ¤ āĻĒā§‚āĻ°āĻŖ āĻ•āĻ°ā§‡WHERE
  2. āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ 2 - āĻ—ā§āĻ°ā§āĻĒāĻŋāĻ‚
    • āĻ—ā§āĻ°ā§āĻĒāĻŋāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ.
    • āĻ—ā§āĻ°ā§āĻĒāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋ āĻ¯ā§‡āĻŽāĻ¨ COUNT(*).
    • āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ—ā§āĻ°ā§āĻĒāĻŋāĻ‚ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ HAVINGāĨ¤
  3. āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ 3 - āĻŦāĻžāĻ›āĻžāĻ‡
    • āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ§āĻžāĻĒā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ¸āĻžāĻ°āĻŋāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸āĻžāĻœāĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ ORDER BYāĨ¤

āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻĢāĻ˛āĻžāĻĢāĻ˛ LIMITāĻāĻŦāĻ‚ āĻ¸āĻ™ā§āĻ—ā§‡ āĻ›āĻžāĻāĻŸāĻž āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ OFFSETāĨ¤

āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯
  • āĻœāĻ¨āĻĒā§āĻ°āĻŋā§Ÿ
  • āĻ¨āĻ¤ā§āĻ¨
  • āĻĒā§āĻ°āĻžāĻ¨ā§‹
āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§‹āĻŽāĻžāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸āĻžāĻ‡āĻ¨ āĻ‡āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻāĻ‡ āĻĒāĻžāĻ¤āĻžā§Ÿ āĻāĻ–āĻ¨āĻ“ āĻ•ā§‹āĻ¨ā§‹ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ¨ā§‡āĻ‡