Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

SELLECT операторы.FROM сөйлемі.

Сақталатын процедураны орындауға жіберетін оператор процедураға тәуелді болады. Таңдау процедурасы оларға SELECT -мәліметтерді таңдау операторының көмегімен хабарласқанда орындалады. SELECT–көрсетілген кесьеден мәліметтер таңдамасын жүргізуге рұқсат береді;

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

SQL-дағы барлық сұраныстар жалғыз командадан тұрады. Бұл команданың құрылымы алдамшы қарапайым, себебі сіз оны жоғары қиын бағалау және мәліметтерді өңдеу үшін кеңейтіп отыруыңыз керек. Бұл команда - SELECT(ТАҢДАУ). Ең жеңіл формада SELECT командасы кестеден ақпарат алу үшін мәліметтер базасын жай ғана бағыттап отырады. Мысалы, сіз Сатушылар кестесін төмендегіні басып шығаруыңызға болады: SELECT snum, sname, sity, comm FROM Salespeople;

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

Жалпы жағдайда, SELECT командасы SELECT кілтті сөзінен басталады. Осыдан кейін көргіңіз келген бағандар тізімі жазылуы керек, бір-бірімен үтірмен ажыратылған. Егер сіз барлық бағандарды көргіңіз келсе, онда бұл тізімді жұлдызшамен (*) алмастыруыңызға болады. FROM кілтті сөзі бос орыннан кейін сұраныс жасалынатын кестенің атымен жасалынады. Срңында үтірөнүкте (;) қойылады, ол сұранысты аяқтау үшін қолданылады және команда орындалуға дайындығын білдіреді.

FROM FROM – кілтті сөз, SELECT сияқты, ол әрбір Salespeople сұранысында көрсетілуі тиіс. Ол пробелдан кейін ақпарат көзі ретінде қолданылатын кестенің аты жазылуы тиіс. Дәл осы жағдайда бұл – Сатушылар кестесі (Salespeople). Үтір-нүкте SQL –дің әрбір интерактивті командаларында қолданылады, ол мәліметтер базасына команда толық және орындалуға дайын деген ақпарат жібереді. Біз сұранысты құрастырудың ыңғайлы жолдарын қарастыруымыз керек, бірнеше жолға ма, әлде бір жолға ма келесі түрде:SELECT snum, sname, city, comm FROM Salespeople;

SQL үтір-нүктені команданың соңы ретінде қолданғалы бері SQL-дің көптеген программалары пробелді қайтару ретінде қолданады.

 

 

WHERE сөйлемі. Салыстыру. Диапазонға жататындығын тексеру. Жиынға жататындығын тексеру. Шаблонға сәйкес болуын тексеру. NULL мәніне тең болуын тексеру.

WHERE сөйлемі берілген кезде, мәліметтер базасының программасы бір-бірлеп барлық кестенің бағандарын қарап өтеді және әрбір жолды тексереді ұйғарымның дұрыстығын тексеру үшін. Демек, Peel жазуы үшін, программа city бағанының ағымды мәнін қарайды, ол "London" екнін анықтайды, және осы жолға нәтижесін шығарады. Serres үшін жазу енгізілмейді, және сола сияқты. Жоғарыда айтылған сұраныстың нәтижесі Сурет 3.6-да көрсетілген. WHERE сөйлеміндегі сандық өрісға мысал келтірейік. rating жолы Тапсырыс берушілер кестесіндегі тапсырыс берушілерді кейбір критерийлер бойынша негізгі топтарға бөлу үшін қолданылады, олар кейіннен осы номер арқылы алынады. Мүмкін бұл – кредитті бағалау немесе алдыңғы сатып алынған заттар томына бағалау формасы. Мұндай сандық кодтар реляциялық мәліметтер базалары үшін қиын ақпараттарға қорытынды шығаруға арналған тәсіл ретінде өте маңызды. Біз рейтингісі 100 болатын барлық тапсырыс берушілерді келесі түрдегідей таңдап ала аламыз.

SELECT * FROM Customers WHERE rating = 100;

НӨЛДІК МӘНДЕРМЕН (NULL) ЖҰМЫС

Көбінесе, таблицада әрбір өріс үшін ешқандай мағынасы жоқ жазбалар болады, өйткені мысалы ақпарат аяқталмағандықтан немесе бұл өріс толтырылмағандықтан. SQL сізге өрісте мәннің орнына NULL(ПУСТОЙ) мәнін енгізуге мүмкіндік бере отырып мұндай жағдайды ескереді. өрістің мәні NULL-ге тең болғанда, бұл мәліметтер базасының программасы арнайы бұл өрісті осы жол үшін ешқандай мәні болмайды деп маркерлеген (немесе жазбаның). Бұл өріске жай берілуінен ажыратылады,мәліметтер базасы кез-келген басқа мәндер сияқты нөл немесе бос орын мәні де өңделеді. NULL техникалық мән болмайтындай онда да деректер типі болмайды. Ол өрістің кез келген типіне орналаса алады. Соған қарамастан, SQL-да NULL нуль ретінде жиі айтылады.

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

NULL ОПЕРАТОРЫ

NULL мәннің жоқтығын білдіретіндіктен, NULL пайдаланылған кез келгеніне салыстырудың нәтижесін біле алмайсыз. NULL кез келген мәнмен, тіпті тура сондай басқа NULL-мен салыстырылғанда, нәтижесі не қате, не дұрыс болмайды, ол – белгісіз. Булев белгісізі тіпті предикатта белгісіз мәнді шығара отырып сұраныспен таңдалмайтын қате жол сияқты болады, естеріңізде болсын: NOT (қате) – дұрысқа тең, ал NOT (белгісіз) – белгісізге тең.

Осыдан шығатыны: 'city = NULL' немесе 'city IN (NULL)' типіндегі өрнек city мәнінен тәуелсіз белгісіз болады. Сіздер қате мен белгісіз арасындағы айырмашылықты – предикаттың шарттарына сәйкес келмейтін бағандардың мәндерінен тұратын және бағандарында NULL бар жолдар білуіңіз керек.

НӨЛДІК МӘНДЕРМЕН (NULL) ЖҰМЫС. Көбінесе, таблицада әрбір өріс үшін ешқандай мағынасы жоқ жазбалар болады, өйткені мысалы ақпарат аяқталмағандықтан немесе бұл өріс толтырылмағандықтан. SQL сізге өрісте мәннің орнына NULL(ПУСТОЙ) мәнін енгізуге мүмкіндік бере отырып мұндай жағдайды ескереді. өрістің мәні NULL-ге тең болғанда, бұл мәліметтер базасының программасы арнайы бұл өрісті осы жол үшін ешқандай мәні болмайды деп маркерлеген (немесе жазбаның). Бұл өріске жай берілуінен ажыратылады,мәліметтер базасы кез-келген басқа мәндер сияқты нөл немесе бос орын мәні де өңделеді. NULL техникалық мән болмайтындай онда да деректер типі болмайды. Ол өрістің кез келген типіне орналаса алады. Соған қарамастан, SQL-да NULL нуль ретінде жиі айтылады.

Мысалы, сіз әлі сатушыға белгіленбеген жаңа тапсырушыны алдыңыз. Тапсырушының белгіленуі қажет сатушыны тосқанша, сіз тапсырушыны қайта орналастыруда жоғалып қалмайтындай етіп, оны деректер базасына тура қазір тіркей аласыз.Сіз тапсырушыға арналған NULL мәні бар жолды snum өрісінде енгізуіңізге және бұл өрісті мәнмен кейінерек сатушы тағайындалған кезде толтыруыңызға болады. NULL мәннің жоқтығын білдіретіндіктен, NULL пайдаланылған кез келгеніне салыстырудың нәтижесін біле алмайсыз. NULL кез келген мәнмен, тіпті тура сондай басқа NULL-мен салыстырылғанда, нәтижесі не қате, не дұрыс болмайды, ол – белгісіз. Булев белгісізі тіпті предикатта белгісіз мәнді шығара отырып сұраныспен таңдалмайтын қате жол сияқты болады, естеріңізде болсын: NOT (қате) – дұрысқа тең, ал NOT (белгісіз) – белгісізге тең.

Осыдан шығатыны: 'city = NULL' немесе 'city IN (NULL)' типіндегі өрнек city мәнінен тәуелсіз белгісіз болады. Сіздер қате мен белгісіз арасындағы айырмашылықты – предикаттың шарттарына сәйкес келмейтін бағандардың мәндерінен тұратын және бағандарында NULL бар жолдар білуіңіз керек.

 

 




Дата добавления: 2015-01-29; просмотров: 59 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав