புதிதாக மைக்ரோசாப்ட் அணுகல் SQL வினவல்களை எழுதுவது எப்படி

புதிதாக மைக்ரோசாப்ட் அணுகல் SQL வினவல்களை எழுதுவது எப்படி

மைக்ரோசாஃப்ட் ஆக்ஸஸ் முழு மைக்ரோசாஃப்ட் ஆஃபீஸ் தொகுப்பிலும் மிக சக்திவாய்ந்த கருவியாகும், இருப்பினும் இது அலுவலக சக்தி பயனர்களை மர்மமாக்குகிறது (மற்றும் சில நேரங்களில் பயமுறுத்துகிறது). வேர்ட் அல்லது எக்செல் விட செங்குத்தான கற்றல் வளைவுடன், இந்தக் கருவியைப் பயன்படுத்தி யாராவது எப்படித் தலையைச் சுற்ற வேண்டும்? இந்த வாரம், ப்ரூஸ் எப்பர் இந்த கேள்வியால் தூண்டப்பட்ட சில சிக்கல்களை எங்கள் வாசகர் ஒருவரிடமிருந்து பார்ப்பார்.





ஒரு வாசகர் கேட்கிறார்:

மைக்ரோசாஃப்ட் ஆக்ஸஸில் வினவலை எழுதுவதில் எனக்கு சிக்கல் உள்ளது. ஒரு எண் தயாரிப்பு குறியீடு மற்றும் அதனுடன் தொடர்புடைய தயாரிப்பு பெயர் கொண்ட ஒரு பொதுவான நெடுவரிசை கொண்ட இரண்டு தயாரிப்பு அட்டவணைகள் கொண்ட ஒரு தரவுத்தளத்தை நான் பெற்றுள்ளேன். அட்டவணை A இலிருந்து எந்த தயாரிப்புகளைக் காணலாம் என்பதை நான் கண்டுபிடிக்க விரும்புகிறேன் அட்டவணை B. இல், அட்டவணை A இலிருந்து தயாரிப்புப் பெயர் இருந்தால், அது அட்டவணை A. இல் இல்லாதபோது, ​​B அட்டவணையிலிருந்து தயாரிப்புப் பெயரைக் கொண்டிருக்கும் முடிவுகள் என்ற நெடுவரிசையைச் சேர்க்க விரும்புகிறேன்.





புரூஸின் பதில்:

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





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

தொடக்க புள்ளியாக

அணுகல் அல்லது மற்றொரு RDBMS உடன் உங்களுக்கு ஏற்கனவே பரிச்சயம் இல்லையென்றால், தொடர்வதற்கு முன் இந்த ஆதாரங்களுடன் தொடங்குமாறு நான் பரிந்துரைக்கிறேன்:



  • எனவே தரவுத்தளம் என்றால் என்ன? தொடர்புடைய தரவுத்தளங்களின் அடிப்படைகளைக் காட்ட ரியான் டியூப் எக்செல் பயன்படுத்துகிறார்.
  • மைக்ரோசாஃப்ட் அணுகல் 2007 உடன் தொடங்குவதற்கான விரைவான வழிகாட்டி இது அணுகல் மற்றும் அணுகல் தரவுத்தளத்தை உள்ளடக்கிய கூறுகளின் உயர் மட்ட கண்ணோட்டம் ஆகும்.
  • மைக்ரோசாஃப்ட் அக்சஸ் 2007 இல் உள்ள அட்டவணைகளுக்கு விரைவான டுடோரியல் உங்கள் கட்டமைக்கப்பட்ட தரவைச் சேமிப்பதற்காக உங்கள் முதல் தரவுத்தளத்தையும் அட்டவணைகளையும் உருவாக்குவதைப் பார்க்கிறது.
  • மைக்ரோசாஃப்ட் அக்சஸ் 2007 இல் வினவல்கள் பற்றிய விரைவான பயிற்சி தரவுத்தள அட்டவணையில் சேமிக்கப்பட்ட தரவின் குறிப்பிட்ட பகுதிகளைத் திரும்பப் பெறுவதற்கான வழிமுறைகளைப் பார்க்கிறது.

இக்கட்டுரைகளில் கொடுக்கப்பட்டுள்ள கருத்துகளைப் பற்றிய அடிப்படை புரிதலைக் கொண்டிருப்பதால் பின்வருபவை எளிதில் ஜீரணமாகிவிடும்.

தரவுத்தள உறவுகள் மற்றும் இயல்பாக்கம்

நீங்கள் உலகம் முழுவதும் 50 விதமான விட்ஜெட்களை விற்பனை செய்யும் நிறுவனத்தை நடத்துகிறீர்கள் என்று கற்பனை செய்து பாருங்கள். உங்களிடம் 1,250 வாடிக்கையாளர்கள் உள்ளனர், சராசரியாக ஒரு மாதத்தில் 10,000 விட்ஜெட்களை இந்த வாடிக்கையாளர்களுக்கு விற்கவும். இந்த விற்பனை அனைத்தையும் கண்காணிக்க நீங்கள் தற்போது ஒரு விரிதாளைப் பயன்படுத்துகிறீர்கள் - திறம்பட ஒரு தரவுத்தள அட்டவணை. ஒவ்வொரு ஆண்டும் உங்கள் விரிதாளில் ஆயிரக்கணக்கான வரிசைகளைச் சேர்க்கிறது.





மேலே உள்ள படங்கள் நீங்கள் பயன்படுத்தும் ஆர்டர் டிராக்கிங் விரிதாளின் ஒரு பகுதியாகும். இப்போது இந்த வாடிக்கையாளர்கள் இருவரும் வருடத்திற்கு பல முறை உங்களிடமிருந்து விட்ஜெட்டுகளை வாங்குகிறார்கள் என்று சொல்லுங்கள்.





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

ஒரு தரவுத்தளத்தைப் பயன்படுத்தி மற்றும் தரவை இயல்பாக்குவதன் மூலம், பொருட்களை, சரக்குகள், வாடிக்கையாளர்கள் மற்றும் ஆர்டர்கள் போன்ற பல அட்டவணைகளாகப் பிரிக்கலாம்.

எங்கள் உதாரணத்தின் வாடிக்கையாளர் பகுதியைப் பார்த்து, வாடிக்கையாளர் பெயர் மற்றும் வாடிக்கையாளர் முகவரிக்கான நெடுவரிசைகளை அகற்றி அவற்றை ஒரு புதிய அட்டவணையில் வைப்போம். மேலே உள்ள படத்தில், தரவுகளுக்கு அதிக சிறுகுறிப்பு அணுகலுக்காக நான் விஷயங்களை சிறப்பாக உடைத்துள்ளேன். புதிய அட்டவணையில் ஒரு முதன்மை விசை (ClientID) க்கான ஒரு நெடுவரிசை உள்ளது - இந்த அட்டவணையில் ஒவ்வொரு வரிசையையும் அணுகுவதற்கு பயன்படுத்தப்படும் எண்.

இந்தத் தரவை நாங்கள் அகற்றிய அசல் அட்டவணையில், ஒரு வெளிநாட்டு விசை (ClientID) க்கான ஒரு நெடுவரிசையைச் சேர்ப்போம்.

இப்போது, ​​ஜோன் ஸ்மித் தனது பெயரை ஜோன் பெய்ன்ஸ் என்று மாற்றும்போது, ​​வாடிக்கையாளர் அட்டவணையில் ஒரு முறை மட்டுமே மாற்றம் செய்யப்பட வேண்டும். இணைக்கப்பட்ட அட்டவணையில் இருந்து மற்ற எல்லா குறிப்புகளும் சரியான வாடிக்கையாளர் பெயரையும், கடந்த 5 வருடங்களாக ஜோன் வாங்கியவற்றைப் பார்க்கும் ஒரு அறிக்கையும் அறிக்கையை உருவாக்கும் விதத்தை மாற்றாமல் அவளது முதல் மற்றும் திருமணமான பெயர்களில் அனைத்து ஆர்டர்களையும் பெறும். .

கூடுதல் நன்மையாக, இது ஒட்டுமொத்த சேமிப்பு அளவையும் குறைக்கிறது.

வகைகளில் சேருங்கள்

SQL ஐந்து வெவ்வேறு வகையான இணைப்புகளை வரையறுக்கிறது: உள், இடது புறம், வலது புறம், முழு வெளி, மற்றும் குறுக்கு. SQL அறிக்கையில் OUTER முக்கிய சொல் விருப்பமானது.

மைக்ரோசாப்ட் அக்சஸ் இன்னர் (இயல்புநிலை), இடது புறம், வலது புறம், மற்றும் க்ராஸ் ஆகியவற்றைப் பயன்படுத்த அனுமதிக்கிறது. முழு வெளிப்புறமும் ஆதரிக்கப்படவில்லை, ஆனால் இடது புறம், யூனியன் அனைத்தும் மற்றும் வலது புறத்தைப் பயன்படுத்துவதன் மூலம், அதிக CPU சுழற்சிகள் மற்றும் I/O செயல்பாடுகளின் விலையில் இது போலியானது.

ஒரு CROSS இணைப்பின் வெளியீடு இடது அட்டவணையின் ஒவ்வொரு வரிசையையும் வலது அட்டவணையின் ஒவ்வொரு வரிசையையும் இணைத்துள்ளது. தரவுத்தள சேவையகங்களின் சுமை சோதனையின் போது மட்டுமே நான் ஒரு CROSS இணைப்பைப் பயன்படுத்தியதைப் பார்த்தேன்.

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

பின்வரும் வடிவமைப்பு பண்புகளுடன் ProdA மற்றும் ProdB ஆகிய இரண்டு அட்டவணைகளை உருவாக்குவதன் மூலம் தொடங்குவோம்.

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

இப்போது, ​​சில தரவுகளுடன் அவற்றை நிரப்புங்கள்.

3 சேர வகைகள் எவ்வாறு செயல்படுகின்றன என்பதில் உள்ள வேறுபாடுகளைக் காட்ட, நான் ப்ரோடாவில் இருந்து 1, 5 மற்றும் 8 உள்ளீடுகளை நீக்கிவிட்டேன்.

அடுத்தது, ஒரு புதிய வினவலை உருவாக்கவும் செல்வதன் மூலம் உருவாக்கு> வினவல் வடிவமைப்பு . காட்சி அட்டவணை உரையாடலில் இருந்து இரண்டு அட்டவணைகளையும் தேர்ந்தெடுக்கவும் சேர் என்பதைக் கிளிக் செய்யவும் , பிறகு நெருக்கமான .

அட்டவணை ProdA வில் ProductID ஐ க்ளிக் செய்து, ProdB அட்டவணையில் ProductID க்கு இழுத்து, அட்டவணைகளுக்கு இடையே உறவை உருவாக்க மவுஸ் பொத்தானை விடுங்கள்.

உருப்படிகளுக்கிடையேயான உறவைக் குறிக்கும் அட்டவணைகளுக்கு இடையிலான கோட்டில் வலது கிளிக் செய்யவும் சேரும் பண்புகளைத் தேர்ந்தெடுக்கவும் .

இயல்பாக, சேர வகை 1 (INNER) தேர்ந்தெடுக்கப்பட்டது. விருப்பம் 2 ஒரு இடது புறச் சேர் மற்றும் 3 ஒரு வலது புறச் சேர்க்கை.

முதலில் INNER சேர்வதைப் பார்ப்போம், எனவே உரையாடலை நிராகரிக்க சரி என்பதைக் கிளிக் செய்யவும்.

வினவல் வடிவமைப்பாளரில், கீழ்தோன்றும் பட்டியல்களிலிருந்து நாம் பார்க்க விரும்பும் புலங்களைத் தேர்ந்தெடுக்கவும்.

நாங்கள் வினவலை இயக்கும் போது (ரிப்பனில் உள்ள சிவப்பு ஆச்சரியக்குறி), அது முதல் அட்டவணையில் உள்ள ProdA அட்டவணை மற்றும் இரண்டாவது ProdB யின் மதிப்புடன் இரண்டு அட்டவணைகளிலிருந்தும் ProductName புலத்தைக் காண்பிக்கும்.

இரண்டு அட்டவணைகளிலும் ProductID சமமாக இருக்கும் மதிப்புகளை மட்டுமே முடிவுகள் காட்டுகின்றன என்பதை கவனிக்கவும். ProdB அட்டவணையில் ProductID = 1 க்கான நுழைவு இருந்தாலும், அது ProdA இல் ProductID = 1 இல்லாததால் அது முடிவுகளில் காண்பிக்கப்படாது. இது ProductID = 11. க்கும் பொருந்தும்.

ரிப்பனில் உள்ள View பட்டனைப் பயன்படுத்தி SQL View க்கு மாறுவதன் மூலம், இந்த முடிவுகளைப் பெறப் பயன்படுத்தப்படும் வடிவமைப்பாளரால் உருவாக்கப்பட்ட SQL வினவலைக் காணலாம்.

SELECT ProdA.ProductName, ProdB.ProductName FROM ProdA INNER JOIN ProdB ON ProdA.ProductID = ProdB.ProductID;

வடிவமைப்பு காட்சிக்குத் திரும்பி, சேரும் வகையை 2 ஆக மாற்றவும் (இடது புறம்). முடிவுகளைப் பார்க்க வினவலை இயக்கவும்.

நீங்கள் பார்க்கிறபடி, ProdA அட்டவணையில் உள்ள ஒவ்வொரு பதிவும் முடிவுகளில் குறிப்பிடப்படுகின்றன, அதே சமயம் ProdB இல் உள்ள பொருந்தும் ProductID அட்டவணை ProdB இல் பொருந்தும்.

ProdB.ProductName நெடுவரிசையில் உள்ள வெற்று இடம் ஒரு சிறப்பு மதிப்பு (NULL), ஏனெனில் ProdB அட்டவணையில் பொருந்தக்கூடிய மதிப்பு இல்லை. இது பின்னர் முக்கியமானதாக இருக்கும்.

SELECT ProdA.ProductName, ProdB.ProductName FROM ProdA LEFT JOIN ProdB ON ProdA.ProductID = ProdB.ProductID;

மூன்றாவது வகை இணைப்பில் (RIGHT OUTER) அதையே முயற்சிக்கவும்.

ProdB அட்டவணை முதல் வெற்று (NULL என அழைக்கப்படும்) மதிப்புகளைக் காட்டும் போது ProdA அட்டவணைக்கு பொருந்தும் மதிப்பு இல்லாத முடிவுகளை எல்லாம் காண்பிக்கும். இதுவரை, இது எங்கள் வாசகரின் கேள்வியில் விரும்பிய முடிவுகளுக்கு எங்களை நெருக்கமாக கொண்டு வருகிறது.

SELECT ProdA.ProductName, ProdB.ProductName FROM ProdA RIGHT JOIN ProdB ON ProdA.ProductID = ProdB.ProductID;

வினவலில் செயல்பாடுகளைப் பயன்படுத்துதல்

ஒரு செயல்பாட்டின் முடிவுகளும் வினவலின் ஒரு பகுதியாகத் தரப்படலாம். எங்கள் முடிவு தொகுப்பில் 'முடிவுகள்' என்ற புதிய நெடுவரிசை தோன்ற வேண்டும். அதன் மதிப்பு ProdA வின் ProductName நெடுவரிசையின் உள்ளடக்கமாக இருக்கும்.

இந்த முடிவை உருவாக்க உடனடி IF (IIF) செயல்பாடு பயன்படுத்தப்படலாம். செயல்பாடு மூன்று அளவுருக்களை எடுக்கும். முதலாவது உண்மை அல்லது பொய்யான மதிப்பிற்கு மதிப்பீடு செய்ய வேண்டிய நிபந்தனை. இரண்டாவது அளவுரு நிபந்தனை உண்மையாக இருந்தால் திரும்ப வேண்டிய மதிப்பு, மற்றும் மூன்றாவது அளவுரு நிபந்தனை தவறாக இருந்தால் திரும்ப தரப்படும் மதிப்பு.

எங்கள் சூழ்நிலைக்கான முழு செயல்பாட்டு அமைப்பு இதுபோல் தெரிகிறது:

IIF(ProdA.ProductID Is Null, ProdB.ProductName,ProdA.ProductName)

நிபந்தனை அளவுரு சமத்துவத்தை சரிபார்க்கவில்லை என்பதை கவனிக்கவும். ஒரு தரவுத்தளத்தில் ஒரு பூஜ்ய மதிப்பு மற்றொரு பூஜ்யம் உட்பட வேறு எந்த மதிப்பையும் ஒப்பிடக்கூடிய மதிப்பு இல்லை. வேறு வார்த்தைகளில் கூறுவதானால், Null Null க்கு சமமாக இல்லை. எப்போதும். இதை கடந்து செல்ல, அதற்கு பதிலாக 'Is' முக்கிய வார்த்தையைப் பயன்படுத்தி மதிப்பைச் சரிபார்க்கிறோம்.

அதே முடிவைப் பெற நாம் 'இஸ் நாட் நல்' ஐப் பயன்படுத்தியிருக்கலாம் மற்றும் உண்மை மற்றும் தவறான அளவுருக்களின் வரிசையை மாற்றியிருக்கலாம்.

இதை வினவல் வடிவமைப்பாளரிடம் வைக்கும்போது, ​​நீங்கள் முழு செயல்பாட்டையும் புலத்தில் உள்ளிட வேண்டும்: நுழைவு. 'முடிவுகள்' என்ற நெடுவரிசையை உருவாக்க, நீங்கள் மாற்றுப்பெயரைப் பயன்படுத்த வேண்டும். இதைச் செய்ய, பின்வரும் ஸ்கிரீன்ஷாட்டில் காணப்படுவது போல் 'முடிவுகள்:' உடன் செயல்பாட்டை முன்னுரை செய்யவும்.

இதைச் செய்ய சமமான SQL குறியீடு:

SELECT ProdA.ProductName, ProdB.ProductName, IIF(ProdA.ProductID Is Null,ProdB.ProductName,ProdA.ProductName) AS Results FROM ProdA RIGHT JOIN ProdB ON ProdA.ProductID = ProdB.ProductID;

இப்போது, ​​நாம் இந்த வினவலை இயக்கும்போது, ​​அது இந்த முடிவுகளை உருவாக்கும்.

ஐசோவிலிருந்து துவக்கக்கூடிய யூஎஸ்பியை உருவாக்குகிறது

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

மைக்ரோசாஃப்ட் அணுகலைக் கற்றுக்கொள்வதற்கான கூடுதல் ஆதாரங்களுக்கு, ஜோயல் லீயின் மைக்ரோசாஃப்ட் அணுகலை எவ்வாறு கற்றுக்கொள்வது என்பதைப் பாருங்கள்: 5 இலவச ஆன்லைன் ஆதாரங்கள்.

பகிர் பகிர் ட்வீட் மின்னஞ்சல் விண்டோஸ் 11 க்கு மேம்படுத்துவது மதிப்புள்ளதா?

விண்டோஸ் மறுவடிவமைப்பு செய்யப்பட்டுள்ளது. ஆனால் விண்டோஸ் 10 இலிருந்து விண்டோஸ் 11 க்கு மாறுவதற்கு இது போதுமானதா?

அடுத்து படிக்கவும்
தொடர்புடைய தலைப்புகள்
  • உற்பத்தித்திறன்
  • நிபுணர்களிடம் கேளுங்கள்
எழுத்தாளர் பற்றி புரூஸ் ஈப்பர்(13 கட்டுரைகள் வெளியிடப்பட்டன)

ப்ரூஸ் 70 களில் இருந்து எலக்ட்ரானிக்ஸ், 80 களின் முற்பகுதியில் இருந்து கணினிகள் விளையாடி வருகிறார், மேலும் அவர் முழு நேரமும் பயன்படுத்தாத அல்லது பார்க்காத தொழில்நுட்பம் பற்றிய கேள்விகளுக்கு துல்லியமாக பதிலளித்தார். அவர் கிட்டார் வாசிக்க முயன்று தன்னை எரிச்சலூட்டுகிறார்.

புரூஸ் எப்பரிடமிருந்து மேலும்

எங்கள் செய்திமடலுக்கு குழுசேரவும்

தொழில்நுட்ப குறிப்புகள், மதிப்புரைகள், இலவச மின் புத்தகங்கள் மற்றும் பிரத்யேக ஒப்பந்தங்களுக்கு எங்கள் செய்திமடலில் சேரவும்!

குழுசேர இங்கே சொடுக்கவும்