క్లాజులో PostgreSQLతో ఎలా పని చేయాలో అర్థం చేసుకోవడం
PostgreSQLలో, మీరు విలువల జాబితాకు వ్యతిరేకంగా తనిఖీ చేయడం ద్వారా అవుట్పుట్ను ఫిల్టర్ చేయడానికి WHERE నిబంధనతో IN నిబంధనను ఉపయోగిస్తారు మరియు ఫలితం బూలియన్ విలువ.
ఉపయోగించడానికి సింటాక్స్ ఇక్కడ ఉంది:
విలువ IN (విలువ1, విలువ2, విలువ_n);
ఇచ్చిన వాక్యనిర్మాణం విలువను తీసుకుంటుంది మరియు విలువ1, విలువ2 మరియు విలువ_nకు వ్యతిరేకంగా దాన్ని తనిఖీ చేస్తుంది. ఒక మ్యాచ్ ఉంటే అది బూలియన్ను తిరిగి ఇస్తుంది. తనిఖీ చేయవలసిన విలువల జాబితా స్ట్రింగ్లు మరియు పూర్ణాంకాలతో సహా ఏదైనా లిటరల్ రకానికి చెందినది కావచ్చు. అంతేకాకుండా, మీరు SELECT స్టేట్మెంట్ వంటి సబ్క్వెరీని సృష్టించవచ్చు.
PostgreSQL IN ఆపరేటర్ని ఉపయోగించడానికి వివిధ మార్గాల గురించి చర్చిద్దాం.
1. సబ్క్వెరీతో పని చేయడం
మేము ముందే చెప్పినట్లుగా, SELECT వంటి ప్రశ్న స్టేట్మెంట్ని ఉపయోగించి విలువలను సంగ్రహించే సబ్క్వెరీకి వ్యతిరేకంగా చెక్ చేయాల్సిన విలువ ఉంటుంది. ఈ విధంగా, మీరు ఇచ్చిన నిలువు వరుస విలువలను తనిఖీ చేయడానికి పట్టికను ప్రశ్నించవచ్చు. మా ఉదాహరణ కోసం క్రింది పట్టికను ఉపయోగిస్తాము:
'order_id' అనేది ప్రశ్న విభాగంలో పేర్కొన్న ఏదైనా విలువలు అయిన కస్టమర్లందరినీ మేము తనిఖీ చేయాలనుకుంటున్నాము. మేము మా స్టేట్మెంట్లో మొదటి భాగంగా లక్ష్య విలువను జోడిస్తాము మరియు ప్రశ్నను సృష్టించడానికి IN నిబంధనతో WHERE నిబంధనను ఉపయోగిస్తాము.
మా ప్రశ్న ఎలా కనిపిస్తుందో ఇక్కడ ఉంది:
PostgreSQL “కస్టమర్లు” పట్టికలోని “order_id” నిలువు వరుసను తనిఖీ చేస్తుంది మరియు బ్రాకెట్లలో మేము పేర్కొన్న వాటిలో దేనితోనైనా సరిపోలే “order_id” అన్ని రికార్డ్లను అందిస్తుంది.
మొదటి ఉదాహరణ కోసం, మేము విలువల పూర్ణాంక జాబితా యొక్క సందర్భాన్ని ఉపయోగించాము. మేము స్ట్రింగ్లకు వ్యతిరేకంగా కూడా తనిఖీ చేయవచ్చు. మీరు పేర్కొన్న అన్ని స్ట్రింగ్లు లక్ష్య విలువతో సరిపోలకపోతే, ఏదీ తిరిగి ఇవ్వబడదని గుర్తుంచుకోండి. కింది ఉదాహరణలో మా పట్టికలో లేని కొన్ని స్ట్రింగ్లు ఉన్నాయి. అటువంటి స్ట్రింగ్లు దాటవేయబడతాయి మరియు సరిపోలే స్ట్రింగ్లు మాత్రమే క్రింది అవుట్పుట్లో ప్రదర్శించబడతాయి:
2. IN(SELECT)తో పని చేయడం
కొన్నిసార్లు, విలువల జాబితాను మాన్యువల్గా పేర్కొనడం పని చేయకపోవచ్చు. మీరు మీ పట్టిక నుండి విలువల జాబితాను పొందడానికి SELECT స్టేట్మెంట్ని ఉపయోగించడాన్ని ఎంచుకోవచ్చు మరియు లక్ష్య విలువకు వ్యతిరేకంగా తనిఖీ చేయడానికి వాటిని ఉపయోగించవచ్చు. కింది పట్టికను మా డేటాబేస్కు జోడించడం ద్వారా, మేము దానిని మునుపటి “కస్టమర్ల” పట్టికతో కలిపి మా సబ్క్వెరీని తయారు చేయవచ్చు:
లక్ష్య విలువ (order_id) 'కస్టమర్లు' పట్టికలో ఉన్నట్లయితే మాత్రమే మేము 'ఆర్డర్లు' పట్టిక నుండి రికార్డులను ప్రదర్శించాలనుకుంటున్నాము. ఇక్కడ, “customers.order_id” నిలువు వరుస మా విలువల జాబితా మరియు మేము దాని విలువలను “orders.order_id” కాలమ్లో ఉన్న వాటితో తనిఖీ చేస్తాము.
ఈ సందర్భంలో, శోధనకు కేవలం మూడు ఎంట్రీలు మాత్రమే సరిపోతాయి మరియు మా IN(SELECT) PostgreSQL నిబంధన కోసం మేము అవుట్పుట్గా పొందుతాము.
3. PostgreSQL నిబంధనలో నాట్ ఇన్తో పని చేయడం
మునుపటి ఆదేశాన్ని ఉపయోగించి, లక్ష్య విలువతో సరిపోలని ఇతర విలువలను ప్రదర్శించడాన్ని మనం ఎంచుకోవచ్చు. దాని కోసం, మేము IN నిబంధన ఏమి చేస్తుందో దానికి విరుద్ధంగా చేస్తాము. కాబట్టి, ఇన్ కాదు అనే ఆదేశాన్ని మేము నిరాకరిస్తాము.
మేము మా కొత్త ఆదేశాన్ని ఎలా వ్రాస్తాము:
ఉదాహరణ 2లో మనకు లభించిన వాటి కంటే భిన్నమైన అవుట్పుట్ని పొందుతామని గమనించండి. ఎందుకంటే మేము IN నిబంధనకు బదులుగా NOT INతో పని చేస్తున్నాము.
ఆదర్శవంతంగా, మీరు PostgreSQL IN నిబంధనతో పొందే ఫలితాలను తిరస్కరించాలనుకున్నప్పుడు మీరు NOTని జోడించలేరు. దరఖాస్తులు అంతులేనివి. మీరు విలువలను తనిఖీ చేసి, అవి త్వరగా సరిపోలడాన్ని చూడాలనుకున్నప్పుడు, IN నిబంధన మీ బెస్ట్ ఫ్రెండ్.
ముగింపు
విలువల జాబితాకు వ్యతిరేకంగా లక్ష్య విలువను తనిఖీ చేయడానికి IN నిబంధన WHERE నిబంధనతో పని చేస్తుంది. IN నిబంధన మీరు పేర్కొన్న విలువల జాబితాలో లక్ష్య విలువకు సరిపోలిక ఉందో లేదో నిర్ధారించే బూలియన్ని అందిస్తుంది. మీరు విలువలను అక్షరాలుగా పేర్కొనవచ్చు లేదా ఉపయోగించడానికి సబ్క్వెరీని సృష్టించడానికి SELECT స్టేట్మెంట్ని ఉపయోగించవచ్చు. మీరు PostgreSQL IN నిబంధనను ఎలా ఉపయోగించవచ్చనే దానిపై మేము మూడు ఉదాహరణలను అందించాము. ఆశాజనక, ఇది PostgreSQL IN నిబంధనతో ఎలా పని చేయాలో అర్థం చేసుకోవడానికి మీకు అంతర్దృష్టులను అందించింది.