మాడ్యూల్ పాఠాలు (1/4)
జాబితాలు మరియు పరిధులు: IN మరియు BETWEEN
మునుపటి మాడ్యూల్లలో మీరు WHEREతో సమానతలను ఉపయోగించి ఫిల్టర్ చేసారు మరియు
పోలికలు: salary > 30000, department_id = 1, hired_on >= '2020-01-01'.
కానీ షరతు "విలువ తప్పనిసరిగా ఈ ఐదులో ఒకటిగా ఉండాలి",
చైన్డ్ ORs పైల్ అప్:
-- Heavy and fragile: adding a department means touching the query
SELECT first_name, last_name
FROM employees
WHERE department_id = 1
OR department_id = 2
OR department_id = 3;దీన్ని చదవగలిగేలా చేయడానికి SQL రెండు షార్ట్కట్లను అందిస్తుంది.
IN - "వీటిలో ఒకటి"
IN (...) ఆపరేటర్ విలువల జాబితాను తీసుకుంటుంది మరియు trueని అందిస్తుంది
నిలువు వరుస వాటిలో ఏదైనాకి సమానం:
SELECT first_name, last_name, department_id
FROM employees
WHERE department_id IN (1, 2, 3);ఇది పైన ఉన్న ORsకి అర్థపరంగా సమానంగా ఉంటుంది, కానీ చాలా ఎక్కువ చదవగలిగేది: ఇది
సహజంగా "department_id (1, 2, 3)" అని చదువుతుంది. ఇది కూడా పనిచేస్తుంది
తీగలు మరియు తేదీలతో:
SELECT name
FROM departments
WHERE city IN ('Milano', 'Roma');NOT IN (...) కూడా ఉంది, ఇది వ్యతిరేకం చేస్తుంది:
-- Employees who are NOT in Engineering or Sales:
SELECT first_name, last_name
FROM employees
WHERE department_id NOT IN (1, 2);మధ్య — "A మరియు B మధ్య, రెండూ కలుపుకొని"
పరిస్థితి నిరంతర పరిధి (సంఖ్యలు, తేదీలు) అయినప్పుడు, బదులుగా
column >= A AND column <= B వ్రాయడం మీకు BETWEEN A AND B:
-- Employees with a salary between 30000 and 50000 (both inclusive):
SELECT first_name, last_name, salary
FROM employees
WHERE salary BETWEEN 30000 AND 50000;BETWEEN రెండు ముగింపు బిందువులలో ** కలుపుకొని** ఉంది. ఇది చాలా చక్కగా పనిచేస్తుంది
తేదీలు కూడా:
-- Everyone hired in 2020:
SELECT first_name, last_name, hired_on
FROM employees
WHERE hired_on BETWEEN '2020-01-01' AND '2020-12-31';దీనిని ప్రయత్నించండి
30000 మరియు 50000 మధ్య జీతం ఉన్న ఉద్యోగుల మొదటి పేరు (మొదటి_పేరు), చివరి పేరు (చివరి_పేరు) మరియు జీతం (జీతం) చూపండి. మూడు నిలువు వరుసలు.
సూచనను చూపించు
ANDతో జత చేసిన రెండు పోలికల కంటే 30000 మరియు 50000 మధ్య ఉపయోగించండి — మరింత కాంపాక్ట్ మరియు చదవగలిగేది.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం సమీక్షించండి
1, 2 లేదా 4 విభాగాల్లో పనిచేస్తున్న ఉద్యోగుల మొదటి పేరు (మొదటి_పేరు) మరియు చివరి పేరు (చివరి_పేరు) జాబితా చేయండి (IN ఉపయోగించండి). చివరి పేరుతో అక్షర క్రమంలో ఆర్డర్ చేయండి.
సూచనను చూపించు
WHERE Department_id IN (1, 2, 4) అనేది మూడు ORల యొక్క కాంపాక్ట్ వెర్షన్.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది