Сұраудағы деректер көзін қосу

Маңызды :  Осы мақаланы компьютер аударған, ескерту мәтінін қараңыз. Анықтама алу үшін осы мақаланың ағылшын тіліндегі нұсқасын осы жерден таба аласыз.

Сұрауда деректердің бірнеше көзін қосқан кезде, сіз шектеу қойған дерек көздерінің бір-біріне байланысын көргіңіз келген жазбаларға байланысты біріктірулерді пайдаланасыз. Сіз сондай-ақ екі бірдей дерек көзіндегі жазбаларды біріктіру үшін біріктірулерді қолданасыз, сонымен дерек көзінің әрбір жұбы сұрау нәтижесінің бір жазбасы болып кетеді.

Берілген мақалада біріктірулердің әр түрлі түрлері көрсетілген және сізге сұрауды қалай пайдалану керектігін көрсетеді.

Ескерту : Бұл мақалада кесте термині дерек көзін білдіру үшін қолданылады. Сіз сондай-ақ біріктірушілердегі сұрауды кестені пайдаланғандай етіп пайдалана аласыз.

Шолу

Ішкі біріктіру: Біріккен кестелердің екеуінде де ортақ мағынасы бар жолақтарды көрсету

Сол немесе Оң сыртқы біріктіру: Кестеден барлық жолдарды және басқа кестедегі сәйкес жолдарды көрсету

Толық сыртқы біріктіру: Екі кестедегі барлық жолдарды көрсетеді және жалпы мән болған жағдайда оларды біріктіреді

Айқас біріктіру: жолдардың барлық мүмкін болатын тіркесімі

Тең емес байланыстар: Өріс мәндерінің теңсіздігіне негізделген жазбаларды біріктіру

Біріктіруді жою

Шолу

Біріктірулердің кестелерге қатынастары сұрауда орналасқан: екі көздегі деректі біріктіру үшін қаншалықты ортақ деректері бар екендігіне негізделген. Мынау ашық диалогтық терезесінде бірігу сипатымен Құрастырушы көрінісі сұрауына қатысты сурет:

Біріктіру сипаттарының жолағы

Кестенің арасындағы бұл сызық қосылуды білдіреді. Біріктіруді ашу үшін екі рет басБіріктіру сипаттары диалогтық терезесін (көрсетілген) екі рет басыңыз және біріктіруді қараңыз немесе өзгертіңіз.

Біріктірулер кейде бағытталады. Диалогтық терезедегі мына аймақ сізге қандай кестелер біріккендігін және кестелерді біріктіру үшін қай жол қолданылғандығын көрсетеді.

Бұл аймақ біріктірулердің түрін анықтайды: 1-ші опция ішкі біріктіру, 2-ші сол жақ сыртқы біріктіру, 3-ші оң жақ сыртқы біріктіру.

Екі бірдей кестедегі жолдар қолданысқа түсе алады және берілген міндетке қатысты әрқайсысын көрсетеді. Ішкі біріктіруде ешқандай басқа деректер қосылмаған. Сыртқы біріктіруде, бір кестедегі байланыссыз жазба, сондай-ақ сұраудың нәтижесіне қосылған.

Кейбір біріктірулер автоматты түрде жасалады

Көп жағдайда, егер сіз қосқан кестелердің сұранысында қатынастар бар болса, біріктірулер туралы ойламауыңыз керек, Access бағдарламасы қатынастарды көрсету үшін ішкі біріктіруді жасайды. Уақыттың көп бөлігінде, сіздің қалағаныңыз мынау: деректің екі кестеден дұрыс амал құрылғанына көз жеткізу, яғни әрбір кестеге керекті деректер қойылғандығы және одан басқа артық ештеңе емес. Бірақ кейбір жағдайда, сіз маңыздырақ болу үшін тіркелгіңіз келеді.

Біріктірулердің түрлері

Мында біріктірулердің негізгі төрт түрі көрсетілген: ішкі біріктірулер, сыртқы біріктірулер, айқас біріктірулер және тең емес біріктірулер. Айқас біріктірулер және тең емес біріктірулер дамыған,бірақ сирек қолданылады, жұмыстарды біріктіру үшін олар туралы толық біліп, түсінгеніңіз дұрыс.

Ішкі біріктірулер: екі кестеден байланыстырылған тек біріккен деректер

Ішкі біріктіру дегеніміз қатысты кестедегі сәйкес деректер бар болған жағдайда немесе керісінше болған жағдайда Access бағдарламасы кестедегі деректерді ғана қосатын біріктіру. Уақыттың көп бөлігін, сіз ішкі біріктірулерге жұмсайсыз. Біріктірулерді жасап жатқан уақытта біріктірулердің қай түрі екендігін нұсқамасаңыз, Access бағдарламасы ішкі біріктіруді ұсынады. Ішкі біріктірулер пайдалы, өйткені олар сізге ортақ мәні негізінде екі дерек көзіндегі деректерді біріктіруге мүмкіндік береді, сондықтан сіз толық сурет бар кезде, тек деректерді көре аласыз.

Сыртқы біріктірулер: қатысты барлық деректер дұрыс біріктірілген, сонымен қатар басқа жазбалар да біріктірілген

Сыртқы біріктіру ішкі біріктіруге ұқсас, бірақ кестелердің бірінен қалған тармақты қосады. Сыртқы біріктіру бағытталған: біріктірудегі бірінші кестеде сол жақ сыртқы біріктіруге сол жақ кестедегі жазбалар кірістірілген және біріктірудегі екінші кестеде оң жақ сыртқы біріктіруге оң жақ кестедегі жазбаларда кірістірілген.

Толық ішкі біріктірулер: мүмкін болған барлық деректер біріктірілген

Кейбір жүйелерде, сыртқы біріктірулер өзіне екі кестедегі барлық жолақтар біріккен жолақпен сәйкес келсе оларды қосып алады. Бұл толық сыртқы бірігу деп аталады және Access бағдарламасы сөзсіз қолдамайды. Бірақ дәл сондай әсерді алу үшін шарттарды және айқас бірігуді қолдана аласыз.

Айқас бірігу: кез келген мүмкін болатын жолмен біріккен барлық деректер

Көбінесе айқас біріктіру сұраудағы екі кестені қосудан шыққан қосалқы әсер және одан соң оларды біріктіруді ұмытып кету болып табылады. Access бағдарламасы әрбір кестедегі бір жазбаның басқа кестедегі әрбір жазбамен, яғни жазбалардың барлық мүмкін бола алатын комбинациясының бірлескенін көргіңіз келетінін білдіретінін түсіндіреді. Өйткені ешқандай дерек біріктірілмейді, біріктірулердің бұл түрі пайдалы нәтижеге сирек алып келеді. Бірақ кейбір жағдайда, айқас біріктіру сізге керектің нақ өзі.

Тең емес біріктірулер: дағдылы біріктіруге ұқсас, бірақ жолдарды біріктіру үшін әр түрлі салыстырылулар қолданылады

Тең емес біріктірілулер (=) белгісінен басқа операторды деректердің мағынасын салыстыру және біріктіру әдісін анықтау үшін қолданады. Тең емес біріктірілулерде сөзсіз қолдау көрсетілмейді, бірақ сіз айқас біріктіруді және дәл сондай әсерге жету үшін шарттарды қолдана аласыз.

Беттің жоғары бөлігі

Ішкі біріктіру: Біріккен кестелердің екеуінде де ортақ мағынасы бар жолақтарды көрсету

Егер сіз ортақ мағыналары сәйкес келетін біріккен өрістері бар тармақты көргіңіз келсе, ішкі біріктіруді таңдаңыз. Access бағдарламасы ішкі біріктіруді автоматты түрде жасайды.

Ішкі біріктірулер біріктірулердің көп тараған түрі болып есептеледі. Сұрауда бірігетін кестелердің бірінің жолдары сәйкес келетін басқа кестелердің жолдарымен бірігетін жолақтар ортақ мәнге негізделген. Сұрау ішкі біріктірумен орындалған уақытта, екі біріктірілетін кестедегі ортақ құндылықтары бар жолдар ғана сұрау операциясына қосылатын болады.

Ішкі біріктіруді қалай қолдануға болады?

Ішкі біріктіруді жасау үшін өрісті сұрау құрастырушы торындағы басқа деректер көзіндегі өріске сүйреңіз. Access бағдарламасы өрістегі екі кестені біріктіреді және олардың ортасындағы жолды көрсетеді.

Автоматты ішкі біріктірулер

Көбінесе сізге ішкі біріктіруді қолдану үшін ештеңе жасаудың қажеті жоқ. Егер сұрауға сіз қосқан кестелерде бұрыннан қатынастар бар болса, Access бағдарламасында сіз кесте қосқан сайын біріккен кестелердің әрбір жұбының арасында ішкі біріктірулерді автоматты түрде жасайды. Егер деректер тұтастығықамтамасыз етілсе , Access бағдарламасы «берден көпке» қатынасы "бір" жағында кестенің бар екенін көрсету үшін "1" және "бірнеше" жағында кестенің бар екенін көрсету үшін () таңбасын көрсетеді.

Егер сіз қатынастар орнатпаған болсаңыз, Access бағдарламасы егер сұрауға екі кесте қосатын болсаңыз және сол кестелердің әрқайсысының жолақтарының атаулары бірдей болса немесе деректердің түрі бірдей немесе сәйкес болса, егер жолақтардың бірінегізгі кілтбастапқы кілті болса автоматты түрде ішкі біріктірілулер жасайды. Бұл жағдайда "бір" және "бірнеше" таңбалары көрсетілмейді, себебі анықтама тұтастығы қолданылмайды.

Егер сіз сұрауларыңызға сұрау қосатын болсаңыз жне сол сұрауларыңыздың ортасында қатынас орнатпасаңыз, Access бағдарламасы сұраулар арасында немесе кесте мен сұраулардың арасында ішкі біріктірулерді автоматты түрде жасамайды. Жалпы оларды өзіңіз жасауыңыз қажет (бір дерек көзіндегі жолақтан екінші дерек көзіндегі жолақты алып келу арқылы). Егер оны жасамасаңыз, айқас бірігуді аяқтауыңыз мүмкін, нәтижелер шатасады және ол сізге керек емес.

Ішкі біріктірудегі SQL синтаксисі

Ішкі біріктірулер төменде берілгендей SQL ішінде КІМНЕН сөйлемінде көрсетіледі:

КІМНЕН 1-кесте ІШКІ БІРІКТІРУ 2-кесте ІШІНДЕ кесте1.1-өріс компонент оператор 2-кесте.2-өріс

ІШКІ БІРІКТІРУ әрекеті мына бөліктерден тұрады:

Бөлім

Сипаттама

1-кесте, 2-кесте

Бірігетін жазбалардағы кестелердің аттары.

1-өріс, 2-өріс

Біріккен өрістердің аттары. Егер олар нөмірленбеген болса, өрістер бірдеректер түрі және дәл сондай деректерден тұруы керек, бірақ олардың аттары бірдей болмау керек.

компонент оператор

Кез келген салыстырмалы оператор: "=," "<," ">," "<=," ">=," or "<>."

Ішкі қосылу синтаксисі туралы қосымша ақпаратты, ІШКІ БІРІКТІРУ әрекеті бөлімінен қараңыз.

Беттің жоғары бөлігі

Сол немесе Оң сыртқы біріктіру: Кестеден барлық жолдарды және басқа кестедегі сәйкес жолдарды көрсету

Сыртқы біріктірулер анықтамасында сұрау жолдың кейбіреулерінің біріктірудің екі жағына да сәйкес келеді, сұрауда бір кестедегі барлық жолдар болуы керек және басқа кестедегі, яғни екі жақтағы біріктірудің ортақ мәнін бөлісетін сол жолдардың бірігуі (екі кестеде де жол бар кезде деректердің бірігуі).

Сыртқы біріктірулер сол жақ сыртқы біріктірулер немесе оң жақ сыртқы біріктірулер бола алады. Сол жақ сыртқы біріктіруде, сұрау өзіне бірінші кестедегі барлық жолдарды SQL үзінді жазбасын КІМНЕН бөлімімен қосып алады және басқа кестедегі жолдар ғана екі кестедегі бірігу өрістерінде ортақ мәні болады. Оң жақ сыртқы біріктіруде, сұрау өзіне екінші кестедегі барлық жолдарды SQL үзінді жазбасын КІМНЕН бөлімімен қосып алады және басқа кестедегі жолдарда ғана екі кестедегі бірігу жолақтарында ортақ мәні болады.

Ескерту : Сіз біріктіруді екі рет басу арқылы және Біріктіру Сипаттары диалогтық терезесінен қарау арқылы қайсысы сол кесте немесе оң кесте екенін айта аласыз. Немесе SQL көрінісінде деректерді біріктіру үшін КІМНЕН сөйлемін тексере аласыз.

Себебі сыртқы байланыс жолдарының кейбірінде басқа кестедегі жолдармен сәйкес келетін жолдар болмайды, сұраудың нәтижесінде басқа кестеден қайтып келген өрістердің кейбірі жолдар сәйкес келмеген жағдайда бос болады.

Сыртқы біріктіруді қалай пайдалана аламын?

Сыртқы байланысты бұрыннан бар ішкі біріктіру арқылы жасай аласыз. Егер бұрынғы ішкі біріктіру жоқ болса, сіз жаңадан біреуін жасаңыз, содан кейін оны сыртқы біріктіруге өзгертіңіз.

Ішкі біріктіруді сыртқы біріктіруге өзгерту

  1. Құрастырушы көрінісі сұрауында, өзгерткіңіз келетін біріктіруді екі рет басыңыз.

    Біріктіру сипаттары диалогтық терезесі көрсетіледі.

  2. Біріктіру сипаттары диалогтық терезесінде, 2 параметрі мен 3 параметрі жанында тізімделген таңдауларды белгілеңіз.

  3. Пайдаланғыңыз келген параметрді басып, ОК түймешігін басыңыз.

  4. Access бағдарламасы қамтылатын біріктіру шартын орындайтын жолдардағы деректер көзіне қосылған барлық жолдардағы деректер көзінен көрсететін көрсеткіні біріктіреді және көрсетеді.

Екі мағыналы сыртқы біріктірулер

Егер сұрауды СОЛ БІРІКТІРУ және ІШКІ БІРІКТІРУ арқылы жасасаңыз, Access бағдарламасы бірінші кезекте қай операцияны орындау керектігін анықтай алмай қалады. Себебі, сол жақ біріктірудің немесе ішкі біріктірудің бірінші орындалуына байланысты нәтижелер әр түрлі болады, Access бағдарламасы екі мағыналы сыртқы біріктірулер туралы қате хабар көрсетеді.

Бұл қатені түзету үшін бірінші орындалатын біріктіру анықталатындай етіп сұрауды өзгертіңіз.

Сыртқы біріктірулер және сұраудың жаңартылуы

Access бағдарламасында, бірнеше кестедегі сұрау өрісі келесі шарттар орындалған жағдайда ғана жаңартылады:

  • Сұраудағы "ең көп" кестесіндегі өріс басқа кестеден дерек іздейтін кесте.

  • Сұрауды шығару ең көп кестеден бастапқы кілтті қосып алады.

  • Егер ең көп кесте сыртқы біріктірудің бір бөлігі болса, ол біріктірудің ішкі жағында орналасады: сол жақ сыртқы біріктірудегі сол жақ кесте немесе оң жақ сыртқы біріктірудегі оң жақ кесте.

Егер қандай да бір шарттар орындалмай жатса, деректер кестесінің көрінісіндегі сұрауда немесе сұрауға негізделген көріністе болған кезде өріс тек оқуға ғана мүмкіндік беретін болып қалады.

Сыртқы біріктіруге арналған SQL синтаксисі

Ішкі біріктірулер КІМНЕН құрамындағы SQL ішінде төмендегідей көрсетілген:

КІМНЕН1-кесте [ СОЛ | ОҢ ] БІРІКТІРУ 2-кесте
ҚОСУ 1-кесте.1-өріс. компонент оператор 2-кесте.2-кесте

СОЛ БІРІКТІРУ және ОҢ БІРІКТІРУ әрекеттерінде мынадай бөлімдер бар:

Бөлім

Сипаттама

1-кесте, 2-кесте

Бірігетін жазбалардағы кестелердің аттары.

1-өріс, 2-өріс

Біріккен өрістердің аттары. Өрістерде бірдей деректер түрі болуы керек және оларда бірдей деректерден құралған болуы керек, бірақ олардың аты бірдей болмауы керек.

компонент оператор

Кез келген салыстырмалы оператор: "=," "<," ">," "<=," ">=," or "<>."

Сыртқы байланыс синтаксисі туралы қосымша ақпаратты СОЛ БІРІКТІРУ, ОҢ БІРІКТІРУ әрекеттері бөлімінен қараңыз.

Беттің жоғары бөлігі

Толық сыртқы біріктіру: Екі кестедегі барлық жолдарды көрсетеді және жалпы мән болған жағдайда оларды біріктіреді

Екі кестедегі барлық жолдарды көріп, кез келген кезде оларды жалпы мәндер негізінде біріктіргіңіз келгенде толық сыртқы біріктіруді пайдаланыңыз. Access бағдарламасы толық сыртқы біріктіруді қолдамайды, бірақ айқас біріктіру мен шарттың көмегімен дәл сондай әсер алуыңызға болады.

  1. Сұрауды жасау және екі кестені қосу. Егер Access бағдарламасы қандайда бір біріктіру жасаса, оларды жойыңыз.

  2. Сұрауды шығару үшін өзіңіз қалаған бірнеше өрістерді қосыңыз.

  3. Екі кестеден біріктіру өрістерін қосыңыз және олар үшін Көрсету жолындағы құсбелгілерді алып тастаңыз.

  4. Сұрау құрастырушысы торында, бірінші кестенің біріктіру өрісінің ішінде, Шарттар жолында екінші кестенің біріктіруін енгізіңіз. Егер біріктіру өрістерінде бірдей атау болса, оларды қараған кезде кестенің атауын қосуды тексеріңіз.

  5. Немесе жолында, енгізген шарт ішінде Бос деп теріңіз.

  6. Келесі Немесе жол (біріншіден төменде), екінші кестенің біріктіру өрісінің ішінде Бос деп теріңіз.

Сұрау біріккен орнатылымдарды қайтарады:

  • Біріккен өрістердің мәндері сәйкес келген жолдарда, деректер тиісінше біріккен (негізінен, ішкі біріктіру)

  • Бірінші кестеде біріккен өріс үшін мәні жоқ жолдар (негізінен, сол жақ сыртқы біріктірудің сырты)

  • Екінші кестеде біріккен өріс үшін мәні жоқ жолдар (негізінен, оң жақ сыртқы біріктірудің сырты)

Беттің жоғары бөлігі

Айқас біріктіру: жолдардың барлық мүмкін болатын тіркесімі

Сұрауға кестелерді қосып, бірақ оларды біріктірмеген жағдайда айқас біріктіру болады. Access бағдарламасы әрір жолды бір кестемен, екінші жолды басқа кестемен біріктіреді, нәтижесінде айқас туынды немесе тура туынды болады. Әдетте, бұл сіздің қалағаныңыз емес, бірақ айқас біріктірулер болжамдық оқуға пайдалы болады.

Айқас біріктіруді неге қолданамын?

Егер сіз әрбір мүмкін болатын екі кесте немесе сұраулар мен жолдардың арасындағы тіркесімді тексергіңіз келсе, айқас біріктіруді қолданыңыз. Сіздің бизнесіңізде керемет жыл болды делік және сіз өзіңіздің сатып алушыларыңызға жеңілдік беруді жоспарлайсыз. Сіз әрбір сатып алушының тапсырысын есептейтін сұрауды, мүмкін болатын жеңілдіктің пайызы бар кішкене кестені құрастыра аласыз, сондай-ақ екіншісін басқа сұрауға біріктіретін айқас біріктіруді жасайды. Айқас туынды әр тұтынушыға болжамдық жеңілдіктедің жиынтығын көрсетеді.

Айқас біріктіруді қалай қолданамын?

Сұрауға екі кестені қосыңыз, олардың ортасында біріктіру жасамаңыз және сұраудан шығарда жолақтар қоспаңыз. Access бағдарламасы әрбір кестедегі немесе әрбір сұраудағы жолды біріктіреді, басқа кестедегі немесе сұраудағы әрбір басқа жол қосылмаған сұраудың нәтижесіндегілерді біріктіреді. Жоғарыда айтылған мысалдағы жеңілдіктерді қарастырайық. Сізде 91 клиент бар делік және сіз мүмкін болатын 5 пайыздық жеңілікті қарастырып жатырсыз. Айқас біріктіру 455 жол ( 91-ден 5 туынды).

Сіз қосқан кестелердің қатысы бар болса, Access ішкі біріктіруді автоматты түрде жасайды. Егер айқас біріктіруді жасау қажеттілігі туса, автоматты түрдегі біріктіруді жоя аласыз.

Елестетіңіз, абайсызда қосылған айқас біріктіру сұрау нәтижесінде көп көлемдегі жолдар пайда болуы мүмкін. Сондай-ақ, бұл нәтижелер мәнсіз болып келеді, өйткені жолдар ештеңеге сәйкес келмеген жалпы деректер мен тіркесімдерді біріктірмейді.

Беттің жоғары бөлігі

Тең емес байланыстар: Өріс мәндерінің теңсіздігіне негізделген жазбаларды біріктіру

Біріктірулер біріктірілген өрістердің теңдік негізінде болмауы керек. Біріктіру (>) артық, (<) аз немесе (<>) тең емес сияқты кез келген салыстыру операторы негізінде болады. Теңдік негізінде емес біріктірулер тең емес біріктірулер деп аталады.

Егер екі дерек көзіндегі тең емес өріс мәнінің негізіндегі жолдарды біріктіргіңіз келсе, сіз тең емес біріктіруді қолданасыз. Әдетте, тең емес біріктірулер (>) артық, (<), кем, (>=) артық немесе тең, (<=) кем немесе тең салыстыру операторларына негіздеген. (<>) тең емес операторы негізіндегі біріктірулер айқас біріктірулер сияқты бірнеше жол болып қайтуы мүмкін және нәтижелер талдауға қиын болады.

Тең емес біріктірулерді қалай пайдаланамын?

Access бағдарламасы Құрастырушы көрінісінде тең емес біріктірулерді қолдайды, бірақ айқас біріктіру мен шарт арқылы сол нәтижеге қол жеткізуге болады:

  1. Тең емес бірігуге сұрау жасп, екі кесте қосыңыз. Егер Access бағдарламасы автоматты түрде қандайда бір біріктірулер жасаса, оларды жойып тастаңыз.

  2. Қалаған шығатын өрістерді қосу.

  3. Бірінші кестеден біріктіру өрісін қосыңыз және Көрсету жолынан құсбелгіні алып тастаңыз.

  4. Шарттар жолында екінші кестенің біріктіру өрісімен басқарылған теңсіздік операторын теріңіз.

Сұрау көрсетілген теңсіздік негізінде екі кестеден біріккен деректердің жолын қайтарады.

Беттің жоғары бөлігі

Біріктіруді жою

Егер Access бағдарламасы автоматты түрде сіз қаламаған біріктіруді жасаса немесе қателесіп біріктіру жасасаңыз —мысалы, ұқсамайтын дерек түрлері бар екі өрістің арасындағы біріктіру — біріктіруді жоя аласыз.

  1. Сұрау құрастырушы торында жойғыңыз келетін біріктіруді басыңыз.

  2. DELETE пернесін басыңыз.

-немесе-

  • Сұрау құрастырушы торында жойғыңыз келетін біріктіруді тінтуірдің оң жақ түймешігімен басыңыз, содан кейін Жою түймешігін басыңыз.

Беттің жоғары бөлігі

Ескерту : Компьютер аудармасы бойынша ескерту мәтіні: Бұл мақала адам араласуынсыз, компьютерлік жүйе арқылы аударылды. Microsoft корпорациясы ағылшын тілінде сөйлемейтін пайдаланушыларға Microsoft өнімдері, қызметтері және технологиялары туралы мазмұннан жақсы әсер алу мақсатында көмектесу үшін осы компьютер аударламаларын ұсынады. Мақаланы компьютер аударғандықтан, сөздік, синтаксис немесе грамматика қателері болуы мүмкін.

Дағдыларды жетілдіру
Оқыту курсымен танысыңыз
Жаңа мүмкіндіктерге бірінші болып қол жеткізу
Office Insider бағдарламасына қосылу

Осы ақпарат пайдалы болды ма?

Пікіріңіз үшін рақмет!

Пікіріңізге рақмет! Сізді Office қолдау көрсету қызметіндегі агенттердің бірімен байланыстырған жөн болуы мүмкін.

×