5.1 ప్రకటనను కలిగి ఉంది

SQLలో మరొక ఉపయోగకరమైన ఆపరేటర్ ఉంది, అది ఉపయోగించబడుతుంది 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 సర్వర్ ద్వారా అవి ఎలా అమలు చేయబడతాయో మీరు అర్థం చేసుకోవాలి.

చర్యలను నిర్వహించే విధానం ఖచ్చితంగా నియంత్రించబడుతుంది మరియు మీ కోరికపై ఆధారపడి ఉండదు. మీరు ఆపరేటర్‌లను క్రమాన్ని మార్చలేరు మరియు వేరే ఆర్డర్‌ని పొందలేరు.

SQL ప్రశ్న ఈ క్రమంలో అనేక దశల్లో అమలు చేయబడుతుంది.

  1. దశ 1 - వరుసలను పొందడం
    • ముందుగా, పేర్కొన్న పట్టిక నుండి అన్ని అడ్డు వరుసలు ఎంపిక చేయబడ్డాయి.
    • అప్పుడు లెక్కించిన ఫీల్డ్‌లు వాటికి జోడించబడతాయి.
    • ఆపై అన్ని వరుసలలో, షరతును సంతృప్తిపరిచేవి మాత్రమే మిగిలి ఉన్నాయిWHERE
  2. దశ 2 - సమూహం
    • గ్రూపింగ్ తర్వాత ఫలితాలకు వర్తించబడుతుంది.
    • గ్రూపింగ్ సమయంలో, వంటి ఫీల్డ్‌లు COUNT(*).
    • చివరగా, సమూహ ఫలితానికి ఫిల్టర్ వర్తించబడుతుంది HAVING.
  3. దశ 3 - క్రమబద్ధీకరణ
    • మునుపటి దశల్లో పొందిన అడ్డు వరుసలు ఉపయోగించి క్రమబద్ధీకరించబడతాయి ORDER BY.

చివరగా, ఫలితంగా LIMITమరియు ట్రిమ్ చేయవచ్చు OFFSET.