Мәліметтер қорындағы ақпараттың таңдалуы



жүктеу 34,59 Kb.
Дата20.05.2018
өлшемі34,59 Kb.
#14290

Мәліметтер қорынан ақпаратты таңдау

SELECT операторының синтаксисі

  • SELECT операторы - SQL тілінің ең маңызды жэне ең кең таралған операторларының бірі. Ол кестеден деректерді тандауға жэне алынған нәтижелерді кажетті түрге келтіруге арналған. Орындалатын бір команда шеңберінде реляциялык алгебра операторларына эквивалентті әрекеттер орындауды жүзеге асыратындығы оның куаттылығын көрсетеді. Оның көмегімен әртүрлі кестелерден деректерді сұрыптаудың күрделі және өте үлкен тандау шарттарын жүзеге асыруға болады.

SELECT операторының конструкциясы

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

Енді authors кестесіндегі SELECT операторын қарастырамыз. Аuthors кестесінде авторлар туралы мәліметтер сақталады. Сол кестедегі тек Калифорнияда тұратын автор аттарын білу үшін , тізімнен сәйкес бағанды көрсету керек және ақпарат көлемін кішірейту үшін WHERE сөйлемін пайдаланамыз, қайтарма SELECT операторы арқылы.

  • Сұраныс соңында біз қалаған нәтиже алмаймыз себебі: тізімге бүкіл авторлар шығып кетеді тұратын қаласы ескерілмей. Біз қалаған нәтижені алу үшін мәліметерді таңдау операторы WHERE енгізу керек

Практикада SELECT операторының синтаксисі қарапайым да және күрделі де болуы мүмкін. Егер SELECT және FROM сөйлемдері қосылса оператор жеңілдетіледі. Сөйлемде WHERE немесе басқада сөйлемдердің болуы міндетті емес. SELECT операторының толықтай синтаксисі мынадай түрде көрініс табады:

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

БАҒАНАЛАРДЫ ТАҢДАУ: ТАҢДАУ ТІЗІМІ Кез келген SELECT операторы SELECT деген кіліттік сөзден басталады.Таңдау тізімінде (select list) баған немесе бағандар жолы анықталады нәтижені қосқандағы. Ол бір немесе бірнеше баған атауынан , немесе жалғыз жұлдызшаны қосатын (*) барлық бағандарды анықтайды.

Барлық бағаналарды таңдау: SELECT* Кестедегі барлық бағаналарды таңдау үшін келесі оператор қолданылады: SELECT * FROM список_таблиц

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

Жұлдызша көпкестелі тізімде SQL тілінің сұранысында бүкіл бағандарды барлық кестенің тізіміндегі кесте қылып көрсетеді. Кейбір жүйелердің таңдау тізімінде жұлдызшада және жеке баған атаулары да қолданылуы мүмкін. Ондайды көпкестелі сұраныстарда пайдалан,ан тиімді. Келесі оператор publishers кестесінен ақпаратты алады әр қайсысына title_id мағынасы titels кестесі үшін. Бұл ретте publishers кестесіндегі барлық бағаналар алынады ( таңдау тізімінде publishers* тұргандықтан) және titels кестенің бір бағаны ( таңдау тізімінде title_id тұргандықтан) .

ЖЕКЕ БАҒАНАЛАРДЫ ТАҢДАУ

  • Мысалдар:
  • Бағандарды енгізу толығымен өздеріңізге байланысты: таңдау тізімінде өзіңізге керек ретпен таңдауға болады. Мынау екі мысалда екі сұраныстыңда орындау кезінде аты және баспаның идификационный номері барлық үш жол кестесінен publishers шығады. Бірінші сұраныста бағанға pub_id одан соң pub_name енгізіледі. Екеінші мысалда керісінше болады.

Білдіру: көп, қарағанда қарапайым баған атаулары

  • Тандау тізімінде белгі жолдарды, математикалық амалдарды және функцияларды қолданса болады.
  • Бағандар аттарын өзгерту және амалдарға ат беру.
  • Нәтижелерді сұранысқа жіберген кезде әр баған өздігінен атау алады, ол атау мәліметтер қорындағы атымен сәйкес келеді .

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

Сұраныс нәтижесін түсінікті қылу үшін оларға шағын түсіндірілер е нгізу керек. Осы жерде бізге көмекке символдық жолдар келеді. Мысалыға, баспа атауларының алдына “The publisher’s name is” ( баспа атауы) қосса болады. Ол үшін берілген жолды тізім тандауға қою керек, бір немесе екі тырнақшаға алып жазу керек, себебі жүйе баған атауы екен деп қалмауы керек және оларды үтір арқылы бір бірінен ажыратып қою керек.

Тандау тізімінде сандық ақпараттармен және тұрақты шамалар арқылы арифметикалық амалдарды қолдануға болады. Қолдануға болатын операторлар тізімі:

  • ТҰРАҚТЫ ШАМАЛАРДЫ ПАЙДАЛАНУ АРҚЫЛЫ ЕСЕПТЕУ
  • Символ
  • +
  • -
  • /
  • *
  • Операция
  • Қосу
  • Азайту
  • Бөлу
  • Көбейту

Арифметикалық операторларды барлық сандық бағаналарға қолданса болады. ( Кейбір жүйелерде тағы бір операция – қалдықтың бөлігі (modulo) деген қосылады оны (%) символымен белгілейміз. Бұл операцияның нәтижесі екі бүтін саннын бөлігінен қалған қалдық болып табылады .Мысалы, 21%9=3). Таңдау тізімінде бұл операцияларды әр түрлі комбинацияларда баған атауларымен және сандық константалармен қолдануға болады. Мысалы titles кестесінде барлық кітаптардың бағасын 100% қымбаттауын келесі сұраныс орындауы мүмкін.

ytd_sales нөлдік мағынасына және производный бағанға назар аударыңыздар. Кез келген арифметикалық операциялар нөлдік мағынадағы нәтижесі нөль болады. Производный кестеге Projected_Sales деген ат беруге болады.

  • Баған атауларын қолдану арқылы есептеулер. Арифметикалық амалдарды бір немесе бірнеше бағандарға қолданса болады. Мысалы:

Арифметикалық амалдардың орындалу реті

  • Егер сұраныста бірнеше операторлар болатын болса олар мынау (4.2 сурет ) орнатылған жүйемен орындалады. Мысалы: келесі SELECT операторының басында ydt_sales және priceпроизведениялары есептеледі,себебі көбейту операциясы алу операциясына қарағанда мүмкіндігі көп.
  • Түсінбеушіліктер болмас үшін жақшаларды қолдану керек. Келесі сұранысты орындау кезінде нәтижесі сол болады, бирақ бұның жазуы түсініктірек болып көрінуі мүмкін
  • Алдыңғы сұраныстың нәтижесі өзгереді егер жақшалардың орнын ауыстыратын болсақ. Мысалы :
  • Кестені көрсету: кесте тізімі
  • Кесте тізімінде (tible list) кесте және курсор аттары көрсетіледі, таңдау тізімінің бағандарын және WHERE сөйлемін. FROM сөйлемінің жалпы көрінісі көрсетілген.
  • Кесте тізімінде сәйкес мәліметтер қоры кестесін және олардың иелерін көрсетуге болады. Көптеген SQL диалектерінде кестелерді толтыруды жеңілдету үшін оларға псевдоним (aliases) атаулар беріліп отырған. Псевдонимді кесте атынан кейін жазады.
  • WHERE сөйлемі SELECT операторының бір бөлшегі болып табылады және шартты жолды таңдауға мүмкіндік береді. Жалпы оператордың жазылуы:
  • SELECT операторынын WHERE сөйлемімен қолдану кезінде барлық жолдар таңдалады қойылған шартты қанағаттандыратын
  • Салыстыру операторлары
  • оператор
  • мағынасы
  • =
  • Тең
  • >
  • Артық
  • <
  • Кем
  • >=
  • артық немесе тең
  • <=
  • кем немесе тең
  • !=
  • Тең емес
  • <>
  • Тең емес
  • Әдетте салыстыру операторлары сандық мағыналарға қолданады. SQL- де олларды char varchar типті мәліметтерде қолданады (< алфафит реті бойынша алдын дегенді, > кейін дегенді білдіреді) және уақытқа байланысты (< хронологиялық уақыттан алдын, > кейін дегенді білдіреді). SQL де символдық мағыналарды және даталарды жазған кезде тырнақшаға алу керек.
  • Келесі SELECT операторларынан салыстыру операторларының қалай жұмыс жасайтынын көруге болады. Бірінші сұраныс бағасы 15 жоғары кітаптарды іздеу үшін.
  • Келесі екінші сұраныс авторлардың фамилиялары бойынша . Алфавиттік рет бойынша McBadden кейінгі

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

  • WHERE параметрінің көмегімен қолданушы кестеден сұранысқа қандай жолдар шығатынын анықтайды. WHERE қызметші сөзінен кейін сүраныстың орындау нәтижесінде шығатын жолдарды анықтаитын іздеу шарттарының тізімі орналасады.
  • Іздеу шарттарын жазудың бес типті операторы болады:
  • Салыстыру: бір өрнектің есептеу нәтижелері екіншісінің есептеу нәтнжелерімен салыстырылады.
  • Диапазон: өрнектіи есептеу нәтнжесінен берілген диапазонның мәнімен сәйкес келуі тексеріледі.
  • Жиынға тиістілік: өрнектің есептеу нәтнжесінің берілген жнынның мәніне тиістілігі тексеріледі.
  • Шаблонға сәйкестік: кейбір жолдың мәнінің берілген үлгіге сәйкестігі тексеріледі.
  • NULL нолдік мәні: берілген баған мәнінің NULL көрсеткішін құрайтыны тексеріледі.

Күрделірек предикаттар AND, OR, NOT логикалық операторларының және өрнектің есептеу ретін анықтау үшін қолданылатын жақшалар көмегімен құрылуы мүмкін.

  • Күрделірек предикаттар AND, OR, NOT логикалық операторларының және өрнектің есептеу ретін анықтау үшін қолданылатын жақшалар көмегімен құрылуы мүмкін.
  • Мысал. Computer кестесінен саны 10-нан артык және 40- тан кіші компьютер құрылғылары туралы мәліметті шыгаратын сүраныс құрыңдар.
  • SELECT Name, Count
  • FROM Computer
  • WHERE Count>= 10 and Count<= 40
  • Төменде сұраныс нәтижесі көрсетілген.
  •  
  • Name
  • Count
  • 1
  • Жуйелік блок
  • 10
  • 2
  • Жуйелік блок
  • 15
  • 3
  • Жуйелік блок
  • 25
  • 4
  • Монитор
  • 40
  • 5
  • OPS
  • 20
  • 6
  • Монитор
  • 20
  • 7
  • Монитор
  • 40
  • 8
  • Монитор
  • 15
  • 9
  • Монитор
  • 20

Диапазон немесе аралық (BETWEEN...END немесе NOT BETWEEN... END)

  • Бұл оператор минимал және максимал мәндермен анықталатын қандаи да бір интервал аралығынан мән іздеу үшін қолданылады.
  • Мысалы. Computer кестесінен бағасы 20 мыңнан 50 мынға дейінгі аралықтағы компьютер кұрылғылары туралы мәліметтерді шығаратын сұраныс жасаңдар.
  • SELECT Name, Price
  • FROM Computer
  • WHERE Price BETWEEN 20000 END 50000
  • бұл сұранысты салыстыру операциясын қолданып жазуга да болады-
  • SELECT Name, Price
  • FROM Computer
  • WHERE Price BETWEEN 20000 END 50000

Мысалы. Белгілі бір аралықта дүниеге келген студенттер тізімін шығаратын сұраныс жасандар.

  • Мысалы. Белгілі бір аралықта дүниеге келген студенттер тізімін шығаратын сұраныс жасандар.
  • SELECT Name, Surname, Brithday
  • FROM Student
  • WHERE Brithday BETWEEN ‘ 1.01.1990’ END ‘ 1.06.1990’
  • NOT BETWEEN...and операторы тексерілетін мәннің берілген аралыкта жатпауын карайды.
  • Мысалы. WHERE Price NOT BETWEEN 20000 END 50000 шартының нәтижесінде бағасы берілген аралыкта жатпайтын барлық компьютер кұрылғылары туралы мәліметтер шығады.

Жиынға тиістілік (IN және NOT IN)

  • IN операторы берілген мәнді қандай да бір берілген тізім мәндерімен салыстыру үшін қолданылады. Нәтижеде OR операторын қолдану кезінде алған нәтижені алуға болады, бірақ IN операторы тез орындалады.
  • Мысалы. Орал және Астана қаласында оқитын студенттер туралы мәліметтерді шығарыңдар.
  • SELECT *
  • FROM Student
  • WHERE City IN ( 'Орал', 'Астана')
  • Бұл сұраныс шартын басқаша жазуға да болады:
  • WHERE City = 'Орал' OR City= 'Астана'
  • Егер шарт WHERE City NOT IN ('Орал', 'Астана') түрінде жазылса, онда Орал және Астана қалаларынан өзге қалада оқитын студенттер туралы мәлімет шығады.

Шаблонға сәйкестік (LIKE және NOT LIKE)

  • Көптеген есептерді салыстыру операторының көмегімен шығаруға болмайды. Мысалы: ‘50’ санынан басталатын телефон нөмірлері, кітаптың толық атауы белгісіз, бірақ атаудың бір сөзі белгілі, қала атының бірінші әрпі белгілі т.б. мұндай жағдайда белгілі символдар жазылып, белгісізінің орнына шаблон қойылады. Берілген шаблон бойынша таңдау жасау үшін LIKE операторы қолданылады. LIKE операторы тек қана жолдық тип өрістеріне қолданылады, ол сандық типті өріске қолданылмайды.
  • LIKE операторының синтаксисі:
  • WHERE өріс атауы [NOT] LIKE ‘үлгі ’
  • Үлгі апострофқа алынады және үлгідегі тастап кетілген әріп немесе символ орнына келесі шаблон символдарының біреуі қойылады:
  • % - кез-келген символдың кез-келген саны
  • _ - кез-келген бір символ
  • [ ] —жолдың символының орнына берілген аралыктағы мүмкін болатын символдардың біреуі қойылады

Мысалы: тегі немесе аты 'А' әрпінен басталатын студенттер туралы мәліметтерді шығарындар.

  • Мысалы: тегі немесе аты 'А' әрпінен басталатын студенттер туралы мәліметтерді шығарындар.
  • SELECT *
  • FROM Student
  • WHERE Surname LIKE 'A%' OR Name LIKE 'A%'
  • Нәтижеде келесі студенттер туралы мәліметтер шығады:
  • Абдрахманова Айымгүл
  • Молдағанова Анар
  • Абекенова Динара
  • Сарсенова Асем
  • Абилова Айнагул
  • Данабеков Аскербек
  • Егер жоғарыдағы шарт WHERE Surname LIKE 'A%' AND Name LIKE 'A%' түрінде жазылса, онда сұраныс нәтижесінде
  • Абдрахманова Айымгүл
  • Абилова Айнагул жөнінде ғана мәліметтер шығады.

Мысалы. Computer кестесінен атының екнші әрпі ‘с* немесе шыққан фирма атының екінші әрпі ‘а* болатын компьютер қүрылғыларының аты және шыққан фирмасы туралы мәліметтерді шығарыңдар.

  • Мысалы. Computer кестесінен атының екнші әрпі ‘с* немесе шыққан фирма атының екінші әрпі ‘а* болатын компьютер қүрылғыларының аты және шыққан фирмасы туралы мәліметтерді шығарыңдар.
  • SELECT Name. Firma
  • FROM Computer
  • WHERE Name LIKE ’_c%* OR Firma LIKE '_а%'
  • Сұранмсты орынлату нәтнжесінде келесі мәліметтер шығады.
  • Name
  • Firma
  • Принтер
  • Canon
  • Ксерокс
  • Samsung
  • Монитор
  • Samsung

Мысалы. Computer кестесінен сериялық нөмірінің үшінші цифры 5.6 немесе 7 болатн құрылғы аты және сериялық нөмірі туралы мәліметтерді шығарыңдар.

  • Мысалы. Computer кестесінен сериялық нөмірінің үшінші цифры 5.6 немесе 7 болатн құрылғы аты және сериялық нөмірі туралы мәліметтерді шығарыңдар.
  • SEl.ECT Name. Ser_n
  • FROM Computer
  • WHERE Scr n LIKE ,__[5-7]%’
  • Сұранысты орындату нәтижесінде келесі мәліметтер шығады.
  • Name
  • Ser п
  • Жүиелік блок
  • 08744
  • Жүиелік блок
  • 08742
  • Жүиелік блок
  • 08745
  • Принтер
  • B750D00014
  • Принтер
  • ES7572B019
  • Монитор
  • 406NTNh61095

Нөлдік мәнді таңбалар (IS NULL немесе IS NOT NULL)

  • IS NULL операторы ағымдық мәнді NULL кез- келген жоқ мәнді көрсететін арнайы мәнмен салыстыру үшін қолданылады.
  • Мысалы: Computer кестесінде кейбір құрылғылардың шыққан фирмасы толтырылмай, оған NULL мәні қойылса, онда шыққан фирмасы көрсетілмеген кұрылғылар туралы мәлімет шығару сұранысы төмендегіше болады.
  • SELECT *
  • FROM Computer
  • WHERE Firma IS NULL
  • Егep бұл сұраныстағы шарт WHERE Firma IS NOT NULL түрінде жазылса, онда шыққан фирмасы көрсетілген барлық компьютерлік құрылғылар туралы мәлімет шығады.

жүктеу 34,59 Kb.

Достарыңызбен бөлісу:




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау