3.1 மதிப்புகளை ஒப்பிடுதல்: <, >, =, <>

SQL வினவல்களை எழுதும் போது பயன்படுத்தப்படும் பொதுவான முக்கிய வார்த்தைகளில் ஒன்று WHERE. அதன் உதவியுடன்தான் MySQL க்கு எந்த அட்டவணை வரிசைகளை வடிகட்ட வேண்டும் என்று கூறுகிறோம் (தேர்ந்தெடுக்கவும்).

முக்கிய வார்த்தைக்குப் பிறகு, WHEREநீங்கள் மிகவும் சிக்கலான மற்றும் தந்திரமான நிலைமைகளை எழுதலாம். இந்த நிலையில் என்ன செயல்பாடுகள் இருக்க முடியும்?

ஆபரேட்டர் விளக்கம் உதாரணமாக
< குறைவாக சம்பளம் < 40000
> மேலும் சம்பளம் > 100000
<= குறைவாக அல்லது சமமாக வயது <= 25
>= அதிகமாகவோ அல்லது சமமாகவோ வயது >= 18
= சமம் தொழில் = 'புரோகிராமர்'
<>, != சமமாக இல்லை ஆண்டு(join_date) != 2015

ஜாவா மொழியைப் போலல்லாமல், கடுமையான சமத்துவத்திற்காக, ஒன்று சமமான எழுத்து இங்கே பயன்படுத்தப்படுகிறது, இரண்டு அல்ல .

மதிப்புகள் சமமாக இல்லை என்பதை நீங்கள் சரிபார்க்க விரும்பினால், இதை இரண்டு வழிகளில் செய்யலாம்: <>ஒன்று !=முதல் அணுகுமுறை பாஸ்கல் போன்ற மொழிகளில் பயன்படுத்தப்படுகிறது, இரண்டாவது சி ++ போன்ற மொழிகளுக்கு பொதுவானது. மற்றும் ஜாவா.

SQL இல் ஒதுக்கீட்டிற்கு, இது :=பாஸ்கலைப் போலவே பயன்படுத்தப்படுகிறது, ஆனால் பணியே மிகவும் அரிதாகவே பயன்படுத்தப்படுகிறது.

2015 இல் பணியமர்த்தப்படாத அனைத்து ஊழியர்களையும் காண்பிக்கும் வினவலை எழுதுவோம்.


SELECT * FROM employee WHERE YEAR(join_date) != 2015
        

மேலும் பின்வரும் வினவல் முடிவைப் பெறுகிறோம்:

ஐடி பெயர் தொழில் சம்பளம் வயது சேரும் நாள்
1 இவனோவ் இவான் புரோகிராமர் 100,000 25 2012-06-30
2 பெட்ரோவ் பெட்ர் புரோகிராமர் 80,000 23 2013-08-12
3 இவனோவ் செர்ஜி சோதனையாளர் 40,000 முப்பது 2014-01-01
6 வாஸ்கா பூனை 1,000 3 2018-01-01

3.2 தருக்க செயல்பாடுகள் மற்றும், அல்லது, இல்லை

WHEREநீங்கள் தருக்க செயல்பாடுகளையும் பயன்படுத்தலாம் AND, ORமற்றும் NOT. நான் இங்கு விவரித்தபடியே அவை எழுதப்பட்டுள்ளன. எதுவும் இல்லை &&, ||அல்லது!

SQL வினவலை எழுதுவோம், அதில் 20 வயதுக்கு மேற்பட்ட ஊழியர்களைத் தேர்ந்தெடுத்து 50Kக்கும் குறைவான சம்பளம் பெறுவோம்.


SELECT * FROM employee WHERE age > 20 AND salary < 50000
        

மேலும் பின்வரும் வினவல் முடிவைப் பெறுகிறோம்:

ஐடி பெயர் தொழில் சம்பளம் வயது சேரும் நாள்
3 இவனோவ் செர்ஜி சோதனையாளர் 40,000 முப்பது 2014-01-01
5 கிரியென்கோ அனஸ்தேசியா அலுவலக மேலாளர் 40,000 25 2015-10-10

மிக சுலபம். 100Kக்கு மேல் பெறும் மற்றும் இயக்குநராகப் பணிபுரியாத பணியாளர்களைத் தேர்ந்தெடுக்கும் வினவலை எழுதுவோம்:


SELECT * FROM employee WHERE salary >= 100000 AND NOT occupation = 'Director'
        

இங்கே நாம் குறிக்குப் பதிலாக !=ஆபரேட்டரைப் பயன்படுத்தினோம் NOT.

மேலும் பின்வரும் வினவல் முடிவைப் பெறுகிறோம்:

ஐடி பெயர் தொழில் சம்பளம் வயது சேரும் நாள்
1 இவனோவ் இவான் புரோகிராமர் 100,000 25 2012-06-30

3.3 இடையில்: மதிப்பு வரம்பு

SQL இல் ஒரு சிறப்பு ஆபரேட்டர் உள்ளது, BETWEENஇதன் மூலம் இரண்டு மதிப்புகளுக்கு இடையில் ஒரு மாறி இருக்கிறதா என்பதை நீங்கள் சரிபார்க்கலாம். இந்த ஆபரேட்டர் பூலியன் வெளிப்பாடுகளுக்குள் பயன்படுத்தப்படுகிறது. அத்தகைய ஆபரேட்டரின் பொதுவான வடிவம்:


variable BETWEEN bottom line AND top_bound
        

இந்த வழக்கில், ஜாவா மொழியைப் போலன்றி, கீழ் மற்றும் மேல் எல்லைகள் இரண்டும் அனுமதிக்கப்பட்ட இடைவெளியில் சேர்க்கப்பட்டுள்ளன.

40K முதல் 100K வரை சம்பளம் உள்ள அனைத்து ஊழியர்களையும் தேர்ந்தெடுக்கும் உதாரணத்தை எழுதுவோம். கோரிக்கை இப்படி இருக்கும்:

SELECT * FROM employee WHERE salary BETWEEN 40000 AND 100000

மேலும் பின்வரும் வினவல் முடிவைப் பெறுகிறோம்:

ஐடி பெயர் தொழில் சம்பளம் வயது சேரும் நாள்
1 இவனோவ் இவான் புரோகிராமர் 100,000 25 2012-06-30
2 பெட்ரோவ் பெட்ர் புரோகிராமர் 80,000 23 2013-08-12
3 இவனோவ் செர்ஜி சோதனையாளர் 40,000 முப்பது 2014-01-01
5 கிரியென்கோ அனஸ்தேசியா அலுவலக மேலாளர் 40,000 25 2015-10-10

ஆபரேட்டர் BETWEENஎண் வகைகளை மட்டும் ஆதரிக்கிறது, ஆனால் தேதிகள் மற்றும் சரம் வகைகளையும் கூட ஆதரிக்கிறது . சரங்களுடன் பணிபுரியும் விஷயத்தில், லெக்சிகோகிராஃபிக் வரிசை பயன்படுத்தப்படுகிறது: aaba aabb க்கு முன் வருகிறது

3.4 IN: மதிப்புகளின் பட்டியல்

கூடுதலாக, SQL இல் ஒரு சிறப்பு ஆபரேட்டர் உள்ளது, INஇதன் மூலம் குறிப்பிட்ட பட்டியலில் ஒரு மாறி உள்ளதா என்பதை நீங்கள் சரிபார்க்கலாம். இந்த ஆபரேட்டர் பூலியன் வெளிப்பாடுகளுக்குள் பயன்படுத்தப்படுகிறது. அத்தகைய ஆபரேட்டரின் பொதுவான வடிவம்:

variable IN (value 1 , value 2 , ... value N)

ஒரு வினவலை எழுதுவோம், அதில் 20, 25 அல்லது 30 வயதுடைய ஊழியர்களைத் தேர்ந்தெடுக்கிறோம். கோரிக்கை இப்படி இருக்கும்:

SELECT * FROM employee WHERE age IN (20, 25, 30)

மேலும் பின்வரும் வினவல் முடிவைப் பெறுகிறோம்:

ஐடி பெயர் தொழில் சம்பளம் வயது சேரும் நாள்
1 இவனோவ் இவான் புரோகிராமர் 100,000 25 2012-06-30
3 இவனோவ் செர்ஜி சோதனையாளர் 40,000 முப்பது 2014-01-01
5 கிரியென்கோ அனஸ்தேசியா அலுவலக மேலாளர் 40,000 25 2015-10-10

இப்போது ஒரு வினவலை எழுதுவோம், அதற்கு மாறாக, not20, 25 அல்லது 30 வயதுடைய ஊழியர்களைத் தேர்ந்தெடுக்கிறோம். வினவல் இப்படி இருக்கும்:

SELECT * FROM employee WHERE age NOT IN (20, 25, 30)

மேலும் பின்வரும் வினவல் முடிவைப் பெறுகிறோம்:

ஐடி பெயர் தொழில் சம்பளம் வயது சேரும் நாள்
2 பெட்ரோவ் பெட்ர் புரோகிராமர் 80,000 23 2013-08-12
4 ரபினோவிச் மொய்ஷா இயக்குனர் 200,000 35 2015-05-12
6 வாஸ்கா பூனை 1,000 3 2018-01-01

எல்லாம் எதிர்பார்த்தபடி வேலை செய்தது. அழகு.

3.5 லைக்: சரம் முறை

இறுதியாக, மற்றொரு முக்கியமான மற்றும் அடிக்கடி பயன்படுத்தப்படும் ஆபரேட்டர் - LIKE. சரங்களை ஒப்பிடும்போது இது பயன்படுத்தப்படுகிறது. சரம் வடிவத்தை அமைக்க இதைப் பயன்படுத்தலாம். இந்த ஆபரேட்டர் பூலியன் வெளிப்பாடுகளுக்குள் பயன்படுத்தப்படுகிறது. அத்தகைய ஆபரேட்டரின் பொதுவான வடிவம்:

variable LIKE 'sample'

சிறப்பு எழுத்துக்களை வடிவத்தில் பயன்படுத்தலாம்: %மற்றும் _.

  • அடிக்கோடு என்பது எந்த எழுத்தும், எப்போதும் 1 pc.
  • சதவீதம் என்பது எந்த எழுத்து மற்றும் எத்தனை முறை (0 முறை உட்பட).

"I" என்ற எழுத்தில் கடைசிப் பெயர் தொடங்கும் அனைவரையும் தேர்ந்தெடுக்கும் வினவலை எழுதுவோம். கோரிக்கை இப்படி இருக்கும்:

SELECT * FROM employee WHERE name LIKE 'I%'

மேலும் பின்வரும் வினவல் முடிவைப் பெறுகிறோம்:

ஐடி பெயர் தொழில் சம்பளம் வயது சேரும் நாள்
1 இவனோவ் இவான் புரோகிராமர் 100,000 25 2012-06-30
3 இவனோவ் செர்ஜி சோதனையாளர் 40,000 முப்பது 2014-01-01

இப்போது பணியை சிக்கலாக்குவோம் - பெயரில் "o" இருக்க வேண்டும் மற்றும் பெயர் "a" உடன் முடிவடைய வேண்டும். கோரிக்கை இப்படி இருக்கும்:

SELECT * FROM employee WHERE name LIKE '%o%a'

மேலும் பின்வரும் வினவல் முடிவைப் பெறுகிறோம்:

ஐடி பெயர் தொழில் சம்பளம் வயது சேரும் நாள்
4 ரபினோவிச் மொய்ஷா இயக்குனர் 200,000 35 2015-05-12

சரி, அதை இன்னும் கொஞ்சம் கடினமாக்குவோம். "3" என்ற எண்ணில் தொடங்கும் அனைத்து ஊழியர்களையும் வடிகட்டுவோம். கோரிக்கை இப்படி இருக்கும்:

SELECT * FROM employee WHERE age LIKE '3%'

மேலும் பின்வரும் வினவல் முடிவைப் பெறுகிறோம்:

ஐடி பெயர் தொழில் சம்பளம் வயது சேரும் நாள்
3 இவனோவ் செர்ஜி சோதனையாளர் 40,000 முப்பது 2014-01-01
4 ரபினோவிச் மொய்ஷா இயக்குனர் 200,000 35 2015-05-12
6 வாஸ்கா பூனை 1,000 3 2018-01-01

மூலம், எங்கள் வயது நிரல் வகை int, எனவே LIKEஇது சரங்களுடன் மட்டும் வேலை செய்கிறது. என்ன சந்தோஷப்படாமல் இருக்க முடியாது.