SQL లో ఎక్కడ మరియు నిబంధన కలిగి ఉన్న మధ్య తేడా

రచయిత: Laura McKinney
సృష్టి తేదీ: 1 ఏప్రిల్ 2021
నవీకరణ తేదీ: 6 మే 2024
Anonim
Introduction to SQL/2
వీడియో: Introduction to SQL/2

విషయము


SQL ప్రశ్నల స్టేట్‌మెంట్‌లో ప్రధానంగా WHERE మరియు HAVING నిబంధనలు ఉపయోగించబడతాయి, ఇవి నిర్దిష్ట ప్రిడికేట్‌ను ఉపయోగించడం ద్వారా ఫలిత సంబంధంలో కలయికను పరిమితం చేయడానికి మాకు అనుమతిస్తాయి. WHERE మరియు HAVING మధ్య ఉన్న ప్రధాన వ్యత్యాసం ఏమిటంటే, WHERE నిబంధన ఎంచుకోవడానికి పరిస్థితులను నిర్దేశిస్తుంది టుపుల్స్ (అడ్డు వరుసలు) అవసరమైతే చేరడానికి షరతులతో సహా సంబంధాల నుండి. మరోవైపు, HAVING నిబంధన ఒక షరతును నిర్దేశిస్తుంది సమూహాలు వ్యక్తిగత టుపుల్స్ కంటే ఎంపిక చేయబడుతోంది.

SQL ఉన్నచో నిర్మాణాత్మక ప్రశ్నా భాష; ఇది డేటాబేస్ల నుండి డేటాను యాక్సెస్ చేయడానికి ఉపయోగించే సమగ్ర లేదా డిక్లరేటివ్ డేటాబేస్ భాష.

  1. పోలిక చార్ట్
  2. నిర్వచనం
  3. కీ తేడాలు
  4. ముగింపు

పోలిక చార్ట్

పోలిక కోసం ఆధారంఎక్కడకలిగి ఉండటం
ప్రాథమికవరుస కార్యకలాపాలలో అమలు చేయబడింది.కాలమ్ ఆపరేషన్లలో అమలు చేయబడింది.
వర్తించుఒకే వరుససంక్షిప్త వరుస లేదా సమూహాలు.
డేటా పొందడంఇది షరతు ప్రకారం నిర్దిష్ట వరుసల నుండి నిర్దిష్ట డేటాను మాత్రమే పొందుతుంది.మొదట, పూర్తి డేటా పొందబడుతుంది మరియు తరువాత షరతు ప్రకారం వేరు చేయబడుతుంది.
మొత్తం విధులుWHERE నిబంధనలో కనిపించదు.HAVING నిబంధనలో కనిపిస్తుంది.
తో వాడతారుUPDATE, DELETE లేదా వాటిలో ఒకటి వంటి ఇతర ప్రకటనలను ఎంచుకోండి.SELECT స్టేట్మెంట్ లేకుండా ఉపయోగించలేరు.
వలె వ్యవహరించండిముందు వడపోతపోస్ట్ వడపోత
సమూహం ద్వారాWHERE తర్వాత వస్తుంది.HAVING ముందు వస్తుంది.


వేర్ క్లాజ్ యొక్క నిర్వచనం

SQL WHERE నిబంధన ఒకే పట్టిక నుండి డేటాను తిరిగి పొందే సమయంలో లేదా బహుళ పట్టికలతో చేరడం ద్వారా ఒక పరిస్థితిని వివరించడానికి ఉపయోగిస్తారు. ఇచ్చిన షరతు నెరవేరితే అది పట్టిక నుండి నిర్దిష్ట విలువను తిరిగి ఇస్తుంది. రికార్డులను విస్తరించడానికి మరియు అవసరమైన రికార్డులను మాత్రమే తిరిగి పొందడానికి WHERE నిబంధన ఉపయోగించబడుతుంది.

SQL తార్కిక కనెక్టివ్లను కూడా అమలు చేస్తుంది మరియు, లేదా మరియు కాదు WHERE నిబంధనలో కూడా దీనిని పిలుస్తారు బూలియన్ పరిస్థితి; టుపుల్స్ తిరిగి పొందడానికి పరిస్థితి నిజం. తార్కిక అనుసంధాన వ్యక్తీకరణల యొక్క ఆపరేషన్లు పోలిక ఆపరేటర్లను కలిగి ఉంటాయి <, <=, >, >=, =, మరియు <>. ఈ పోలిక ఆపరేటర్లు తీగలను మరియు అంకగణిత వ్యక్తీకరణలను పోల్చారు. దీనిని ఉపయోగించవచ్చు ఎంచుకోండి ప్రకటన, అలాగే UPDATE లో, తొలగించు ప్రకటనలు.


ఒక ఉదాహరణ తీసుకుందాం. క్రింద చూపిన పట్టికకు ‘అమ్మకాలు‘పట్టికలో‘ఉత్పత్తి‘మరియు‘Sales_amount' గుణాలు.

లెక్కించడానికి క్రింది ప్రశ్న రాయాలి అమ్మకాల మొత్తం ఫోన్ మరియు స్పీకర్లు.

ఉత్పత్తిని ఎంచుకోండి, మొత్తం (సేల్స్_మౌంట్) అమ్మకాల నుండి మొత్తం_సాలేలు ఎక్కడ ఉత్పత్తి (ఫోన్, స్పీకర్లు) ఉత్పత్తిలో ఉత్పత్తి;

కింది అవుట్పుట్ అనేది ఫలితాల అవుట్పుట్, ఇక్కడ వరుసలు మొదట ఫిల్టర్ చేయబడతాయి, ఫోన్ మరియు స్పీకర్ అడ్డు వరుసలు తిరిగి పొందబడతాయి, తరువాత మొత్తం ఫంక్షన్ జరుగుతుంది.

నిబంధన కలిగి ఉన్న నిర్వచనం

SQL అందిస్తుంది నిబంధన ఉంది వీటిని కలిపి ఉపయోగించవచ్చు సమూహం ద్వారా నిబంధన. ఈ షరతు నిబంధన కొన్ని షరతులను నెరవేర్చిన సమూహాల విలువలను తిరిగి పొందడంలో సహాయపడుతుంది. ఎంపిక సమయంలో HAVING నిబంధనతో కలిపి ఎక్కడ నిబంధన ఉపయోగించవచ్చు, WHERE నిబంధన వ్యక్తిగత వరుసను ఫిల్టర్ చేస్తుంది. అడ్డు వరుసలు సమూహం చేయబడతాయి మరియు మొత్తం లెక్కలు నిర్వహిస్తారు, చివరికి HAVING నిబంధన సమూహాలను ఫిల్టర్ చేస్తుంది.

GROUP BY కీవర్డ్ ఉపయోగించనప్పుడు ఇది WHERE లాగానే ప్రవర్తిస్తుంది. నిమిషం, గరిష్టంగా, సగటు, మొత్తం మరియు గణన వంటి సమూహ విధులు రెండు నిబంధనలలో మాత్రమే కనిపిస్తాయి: SELECT మరియు HAVING నిబంధన. ఇది లక్షణాల సమూహంలోని ప్రతి విలువకు అనుగుణంగా ఉన్న టుపుల్స్ పై ఒక షరతును అందిస్తుంది. పరిస్థితిని సంతృప్తిపరిచే రికార్డుల సమితి ఫలితంగా చూపబడుతుంది.

ఇక్కడ కూడా మేము WHERE నిబంధన వలె అదే ఉదాహరణను తీసుకుంటున్నాము మరియు అదే ‘అమ్మకాలు‘టేబుల్. మేము లెక్కించాలనుకున్నప్పుడు అమ్మకాల మొత్తం HAVING నిబంధనను ఉపయోగించి ఫోన్ మరియు స్పీకర్లలో, మేము ఈ క్రింది ప్రశ్నను వ్రాస్తాము.

ఉత్పత్తిని ఎంచుకోండి, మొత్తం (సేల్స్_మౌంట్) అమ్మకాల నుండి మొత్తం_సెల్స్ ఉత్పత్తి (ఫోన్, స్పీకర్లు) లో ఉత్పత్తి;

ప్రశ్న మొదట ఉత్పత్తులను తిరిగి పొందే క్రింది ఉత్పత్తిని ఉత్పత్తి చేస్తుంది, తరువాత మొత్తం ఫంక్షన్ (మొత్తం) నిర్వహిస్తారు మరియు చివరి సమూహాలలో WHERE నిబంధన వలె కాకుండా ఫిల్టర్ చేయబడతాయి.

మేము ఆ ఉత్పత్తులను మాత్రమే కనుగొనాలనుకున్నప్పుడు అమ్మకాల మొత్తం 1000 కంటే ఎక్కువ. ప్రశ్న ఇలా వ్రాయవచ్చు:

ఉత్పత్తిని ఎంచుకోండి, మొత్తం (సేల్స్_మౌంట్) మొత్తం అమ్మకాలు నుండి అమ్మకాలు GROUP ద్వారా ఉత్పత్తి మొత్తం (సేల్స్_మౌంట్)> 1000;

ఉత్పత్తి అవుట్‌పుట్:

HAVING ఉన్నప్పటికీ WHERE నిబంధనను ఉపయోగించి ఇది నిర్వహించబడదు మరియు ఇది లోపం సృష్టిస్తుంది ఎందుకంటే మొత్తం ఫంక్షన్లతో WHERE నిబంధన ఉపయోగించబడదు.

  1. వరుస కార్యకలాపాలలో WHERE నిబంధన ఉపయోగించబడుతుంది మరియు ఒకే వరుసలో వర్తించబడుతుంది, అయితే కాలమ్ ఆపరేషన్లలో HAVING నిబంధన ఉపయోగించబడుతుంది మరియు సంగ్రహించిన అడ్డు వరుసలు లేదా సమూహాలకు వర్తించవచ్చు.
  2. WHERE నిబంధనలో అనువర్తిత షరతు ప్రకారం కావలసిన డేటా పొందబడుతుంది. దీనికి విరుద్ధంగా, నిబంధన మొత్తం డేటాను పొందుతుంది, అప్పుడు షరతు ప్రకారం విభజన జరుగుతుంది.
  3. నిమిషం, మొత్తం, గరిష్టంగా, సగటు వంటి మొత్తం విధులు WHERE నిబంధనతో పాటు ఎప్పుడూ కనిపించవు. దీనికి విరుద్ధంగా, ఈ విధులు HAVING నిబంధనలో కనిపిస్తాయి.
  4. సెలెక్ట్ స్టేట్మెంట్ లేకుండా నిబంధనను ఉపయోగించలేరు. దీనికి విరుద్ధంగా, SELECT, UPDATE, DELETE మొదలైన వాటితో WHERE ఉపయోగించవచ్చు.
  5. నిబంధన ప్రీ-ఫిల్టర్‌గా ప్రవర్తిస్తుంది, అయితే నిబంధన పోస్ట్-ఫిల్టర్‌గా పనిచేస్తుంది.
  6. GROUP BY తో ఉపయోగించినప్పుడు WHERE నిబంధన, GROUP BY కి ముందు వస్తుంది. మొత్తం గణనలను నిర్వహించడానికి ముందు WHERE వడపోత వరుసలు ఉన్నాయని ఇది సూచిస్తుంది. మరోవైపు, GROUP BY తర్వాత HAVING వస్తుంది, అంటే మొత్తం లెక్కలు చేసిన తర్వాత ఇది ఫిల్టర్ అవుతుంది.

ముగింపు

HAVING నిబంధన ప్రజాదరణ పొందిన అదనపు లక్షణం మినహా WHERE మరియు HAVING నిబంధన ఒకే విధంగా పనిచేస్తుంది. నిబంధనను కలిగి ఉండటం మొత్తం ఫంక్షన్లతో సమర్థవంతంగా పనిచేయగలదు, అయితే మొత్తం ఫంక్షన్లతో ఎక్కడ పనిచేయదు.