முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
தொகுதி 4 · பாடம் 1 இன் 4பாடத்திட்டத்தில் 13/57~8 min
தொகுதி பாடங்கள் (1/4)

பட்டியல்கள் மற்றும் வரம்புகள்: IN மற்றும் BETWEEN

முந்தைய மாட்யூல்களில் WHERE மூலம் சமத்துவங்களைப் பயன்படுத்தி வடிகட்டியுள்ளீர்கள் ஒப்பீடுகள்: salary > 30000, department_id = 1, hired_on >= '2020-01-01'. ஆனால் நிபந்தனை "மதிப்பு இந்த ஐந்தில் ஒன்றாக இருக்க வேண்டும்", சங்கிலியால் பிணைக்கப்பட்ட ORs பைல் அப்:

SQL
-- 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 ஐ வழங்குகிறது நெடுவரிசையில் ஏதேனும் சமம்:

SQL
SELECT first_name, last_name, department_id
FROM   employees
WHERE  department_id IN (1, 2, 3);

இது மேலே உள்ள ORs ஐப் போலவே உள்ளது, ஆனால் மிகவும் படிக்கக்கூடியது: இது "department_id எங்கே (1, 2, 3)" என இயல்பாகப் படிக்கிறது. அதுவும் வேலை செய்கிறது சரங்கள் மற்றும் தேதிகளுடன்:

SQL
SELECT name
FROM   departments
WHERE  city IN ('Milano', 'Roma');

இதற்கு நேர்மாறாக NOT IN (...) உள்ளது:

SQL
-- 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:

SQL
-- 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 இரண்டு இறுதிப்புள்ளிகளிலும் உள்ளடக்கிய. இது மிகவும் நன்றாக வேலை செய்கிறது தேதிகளும்:

SQL
-- Everyone hired in 2020:
SELECT first_name, last_name, hired_on
FROM   employees
WHERE  hired_on BETWEEN '2020-01-01' AND '2020-12-31';

முயற்சி செய்து பாருங்கள்

உடற்பயிற்சி#sql.m4.l1.e1
முயற்சிகள்: 0ஏற்றுகிறது…

30000 முதல் 50000 வரை சம்பளம் உள்ள ஊழியர்களின் முதல் பெயர் (முதல்_பெயர்), கடைசி பெயர் (கடைசி_பெயர்) மற்றும் சம்பளம் (சம்பளம்) ஆகியவற்றைக் காட்டவும். மூன்று நெடுவரிசைகள்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

AND உடன் இணைக்கப்பட்ட இரண்டு ஒப்பீடுகளை விட 30000 மற்றும் 50000 இடையே பயன்படுத்தவும் - மிகவும் கச்சிதமான மற்றும் படிக்கக்கூடியது.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

மதிப்பாய்வு பயிற்சி

உடற்பயிற்சி#sql.m4.l1.e2
முயற்சிகள்: 0ஏற்றுகிறது…

1, 2 அல்லது 4 துறைகளில் பணிபுரியும் ஊழியர்களின் முதல் பெயர் (முதல்_பெயர்) மற்றும் கடைசிப் பெயர் (இறுதி_பெயர்) ஆகியவற்றைப் பட்டியலிடவும் (IN ஐப் பயன்படுத்தவும்). கடைசி பெயரில் அகரவரிசைப்படி ஆர்டர் செய்யவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

WHERE Department_id IN (1, 2, 4) என்பது மூன்று ORகளின் சிறிய பதிப்பாகும்.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்