SQL LIKE Operator

ஒரு நிரலில் குறிப்பிட்ட முறையைத் தேட WHERE கிளாஸில் LIKE ஆபரேட்டரைப் பயன்படுத்துவது பற்றி அறிக

SQL LIKE ஆபரேட்டர்

LIKE ஆபரேட்டர் ஒரு நிரலில் குறிப்பிட்ட முறையைத் தேட WHERE கிளாஸில் பயன்படுத்தப்படுகிறது.

LIKE ஆபரேட்டருடன் பெரும்பாலும் பயன்படுத்தப்படும் இரண்டு வைல்ட்கார்டுகள் உள்ளன:

சதவீத குறி %

பூஜ்ஜியம், ஒன்று அல்லது பல எழுத்துகளை பிரதிநிதித்துவப்படுத்துகிறது

அண்டர்ஸ்கோர் குறி _

ஒரு ஒற்றை எழுத்தை பிரதிநிதித்துவப்படுத்துகிறது

📚 கற்றல் குறிப்பு:

அடுத்த அத்தியாயத்தில் வைல்ட்கார்டுகளைப் பற்றி மேலும் அறிவீர்கள்.

உதாரணம்

"a" என்ற எழுத்தில் தொடங்கும் அனைத்து வாடிக்கையாளர்களையும் தேர்ந்தெடுக்கவும்:

SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';

LIKE தொடரியல்

SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;

ஆர்ப்பாட்ட தரவுத்தளம்

உதாரணங்களில் பயன்படுத்தப்படும் Customers அட்டவணையிலிருந்து ஒரு தேர்வு கீழே உள்ளது:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

_ வைல்ட்கார்ட்

_ வைல்ட்கார்ட் ஒரு ஒற்றை எழுத்தை பிரதிநிதித்துவப்படுத்துகிறது.

இது எந்த எழுத்து அல்லது எண்ணாகவும் இருக்கலாம், ஆனால் ஒவ்வொரு _ ம் ஒரு, மற்றும் ஒரே ஒரு எழுத்தை மட்டுமே பிரதிநிதித்துவப்படுத்துகிறது.

உதாரணம்

'L' இல் தொடங்கி ஒரு வைல்ட்கார்ட் எழுத்து, பின்னர் 'nd' மற்றும் பின்னர் இரண்டு வைல்ட்கார்ட் எழுத்துகள் உள்ள ஒரு நகரத்திலிருந்து அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:

SELECT * FROM Customers
WHERE city LIKE 'L_nd__';

ஒற்றை எழுத்து பொருத்தம்

மூன்றாம் எழுத்து 'r' உள்ள பெயர்கள்

SELECT * FROM Customers
WHERE CustomerName LIKE '__r%';

நிலையான நீளம்

சரியாக 5 எழுத்துகள் உள்ள நகரங்கள்

SELECT * FROM Customers
WHERE City LIKE '_____';

% வைல்ட்கார்ட்

% வைல்ட்கார்ட் எந்த எண்ணிக்கையிலான எழுத்துகளையும், பூஜ்ஜிய எழுத்துகள் கூட பிரதிநிதித்துவப்படுத்துகிறது.

உதாரணம்

'L' என்ற எழுத்தைக் கொண்ட ஒரு நகரத்திலிருந்து அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:

SELECT * FROM Customers
WHERE city LIKE '%L%';

தொடங்குகிறது

ஒரு குறிப்பிட்ட எழுத்து அல்லது சொற்றொடரில் தொடங்கும் பதிவுகளைத் திரும்பப் பெற, எழுத்து அல்லது சொற்றொடரின் முடிவில் % ஐச் சேர்க்கவும்.

உதாரணம்

'La' இல் தொடங்கும் அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:

SELECT * FROM Customers
WHERE CustomerName LIKE 'La%';

💡 உதவிக்குறிப்பு:

AND அல்லது OR ஆபரேட்டர்களைப் பயன்படுத்தி எந்த எண்ணிக்கையிலான நிபந்தனைகளையும் இணைக்கலாம்.

உதாரணம்

'a' அல்லது 'b' இல் தொடங்கும் அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:

SELECT * FROM Customers
WHERE CustomerName LIKE 'a%' OR CustomerName LIKE 'b%';

முடிகிறது

ஒரு குறிப்பிட்ட எழுத்து அல்லது சொற்றொடரில் முடியும் பதிவுகளைத் திரும்பப் பெற, எழுத்து அல்லது சொற்றொடரின் தொடக்கத்தில் % ஐச் சேர்க்கவும்.

உதாரணம்

'a' இல் முடியும் அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:

SELECT * FROM Customers
WHERE CustomerName LIKE '%a';

💡 உதவிக்குறிப்பு:

"தொடங்குகிறது" மற்றும் "முடிகிறது" இரண்டையும் இணைக்கலாம்.

உதாரணம்

"b" இல் தொடங்கி "s" இல் முடியும் அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:

SELECT * FROM Customers
WHERE CustomerName LIKE 'b%s';

கொண்டுள்ளது

ஒரு குறிப்பிட்ட எழுத்து அல்லது சொற்றொடரைக் கொண்ட பதிவுகளைத் திரும்பப் பெற, எழுத்து அல்லது சொற்றொடருக்கு முன்னும் பின்னும் % ஐச் சேர்க்கவும்.

உதாரணம்

'or' என்ற சொற்றொடரைக் கொண்ட அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:

SELECT * FROM Customers
WHERE CustomerName LIKE '%or%';

வைல்ட்கார்ட்களை இணைக்கவும்

எந்த வைல்ட்கார்டும், % மற்றும் _ போன்றவை, மற்ற வைல்ட்கார்ட்களுடன் இணைந்து பயன்படுத்தப்படலாம்.

குறைந்தபட்ச நீளம்

"a" இல் தொடங்கி குறைந்தது 3 எழுத்துகள் நீளம்

SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';

குறிப்பிட்ட நிலை

இரண்டாம் நிலையில் "r" உள்ள பெயர்கள்

SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';

நடுவில் பொருத்தம்

மூன்றாம் எழுத்து 'x' உள்ள பெயர்கள்

SELECT * FROM Customers
WHERE CustomerName LIKE '__x%';

குறிப்பிட்ட முறை

"ab" தொடங்கி "c" முடியும் பெயர்கள்

SELECT * FROM Customers
WHERE CustomerName LIKE 'ab%c';

வைல்ட்கார்ட் இல்லாமல்

வைல்ட்கார்ட் குறிப்பிடப்படவில்லை என்றால், முடிவைத் திரும்பப் பெற சொற்றொடர் சரியாக பொருந்த வேண்டும்.

உதாரணம்

ஸ்பெயினிலிருந்து அனைத்து வாடிக்கையாளர்களையும் திரும்பப் பெற:

SELECT * FROM Customers
WHERE Country LIKE 'Spain';

🔍 முக்கியமான குறிப்பு:

வைல்ட்கார்ட் இல்லாமல் LIKE பயன்படுத்துவது = ஆபரேட்டரைப் போலவே செயல்படும், ஆனால் சில தரவுத்தளங்களில் LIKE மேலும் நெகிழ்வானது.

நடைமுறை உதாரணங்கள்

மின்னஞ்சல் தேடல்

gmail.com மின்னஞ்சல்கள்

SELECT * FROM Users
WHERE Email LIKE '%@gmail.com';

தொலைபேசி எண்

குறிப்பிட்ட பகுதி குறியீடு

SELECT * FROM Customers
WHERE Phone LIKE '+1-555-%';

அடையாள எண்

குறிப்பிட்ட வடிவமைப்பில் ID

SELECT * FROM Employees
WHERE EmployeeID LIKE 'EMP____';

கோப்பு வகை

.pdf கோப்புகள்

SELECT * FROM Documents
WHERE FileName LIKE '%.pdf';

வைல்ட்கார்ட் ஒப்பீடு

% வைல்ட்கார்ட்

LIKE 'a%'
  • பூஜ்ஜியம், ஒன்று அல்லது பல எழுத்துகள்
  • எந்த நீளத்தையும் பொருத்தும்
  • தொடக்கம்/முடிவு/உள்ளடக்கத்திற்கு பயன்படுத்த
  • அதிக நெகிழ்வுத்தன்மை

_ வைல்ட்கார்ட்

LIKE 'a_'
  • ஒரு ஒற்றை எழுத்து
  • சரியான நிலை பொருத்தம்
  • நிலையான நீள பொருத்தத்திற்கு பயன்படுத்த
  • குறைந்த நெகிழ்வுத்தன்மை

வைல்ட்கார்ட் இல்லை

LIKE 'abc'
  • சரியான பொருத்தம்
  • வைல்ட்கார்ட்கள் இல்லை
  • = ஆபரேட்டர் போலவே
  • கண்டிப்பான பொருத்தம்

பயிற்சி

SQL LIKE ஆபரேட்டர் என்ன செய்கிறது?

ஒரு நிபந்தனையின் அடிப்படையில் பதிவுகளைக் குழுவாக்குகிறது
✗ தவறு! இது GROUP BY இன் வேலை
ஒரு நிரலில் உள்ள அதிக மதிப்பைத் திரும்பப் பெறுகிறது
✗ தவறு! இது MAX() சார்பின் வேலை
ஒரு நிரலில் குறிப்பிட்ட முறையைத் தேடுகிறது
✓ சரி! LIKE ஆபரேட்டர் ஒரு நிரலில் குறிப்பிட்ட முறையைத் தேட பயன்படுகிறது