Қатынас атауларында SQL сұрауларын жасау. ACCESS-те SQL-ті енгізу Microsoft Access-ті салыстыру

Access ДҚБЖ сұраулардың екі түрін пайдаланады: QBE – үлгі бойынша сұрау және SQL(Structured Query Language) – құрылымдық сұраныс тілі. Сұраныс үлгісі «Сұраныс құрастырушы» терезесінде арнайы сұрау формасын толтыру арқылы жасалады. SQL – сұраныстарды бағдарламашылар SQL тізбегінен жасайды – нұсқаулар. SQL әдетте «Жасау» қойындысындағы «Сұраныс құрастырушы» пәрмені арқылы ашылатын сұраныс пішінінде бағдарламашылармен жасалады және Көрініс мәзірінен «SQL режимі» таңдалады. SQL тілі деректермен жұмыс істеуге арналған, яғни. реляциялық дерекқорлардағы деректерді құруға, өзгертуге және басқаруға арналған.

ANSI-89 SQL және ANSI-92 SQL стандарттарына сәйкес келетін бірнеше SQL сұрау режимдері (ANSI-89 SQL және ANSI-92 SQL режимінің сұраулары) бар екенін атап өткен жөн.

Нұсқауларда SQL тіліндегі деректер жиынының сипаттамасы бар. SQL мәлімдемелерісөйлемдерден тұрады (SELECT, FROM, WHERE, т.б.). Ұсыныстар SQL тілінде терминдер (операторлар немесе командалар, идентификаторлар, тұрақтылар және т.б.) тұрады. Мәлімдеме оператордан басталып (ТАҢДАУ, ЖАСАУ, INSERT, ЖАҢАРТУ, ЖОЮ, т.б. командаларының бірі) нүктелі үтірмен аяқталады. Негізгі SQL операторлары: SELECT, FROM және WHERE.

Мысалы, SQL мәлімдемесі:
Студенттерді таңдау.Студент коды
Студенттерден;
"SELECT Students.StudentCode" және "FROM Students" тармағынан тұрады.

SELECT сөйлемінде бар операторТАҢДАУ және идентификатор«Студенттер.Студенттік кодекс». Мұнда «Студенттік код» өрісінің толық атауының алдында мәліметтер қорының «Студенттер» кестесінің аты қойылады. ТАҢДАУ – қажетті деректерден тұратын өрісті көрсетеді. FROM сөйлемі FROM сөйлемінен және "Оқушылар" идентификаторынан тұрады. FROM - SELECT сөйлемінде көрсетілген өрістерді қамтитын кестені анықтайды.

Айта кету керек, SQL тілінде сұранысты құру кезінде оның синтаксисін ескеру қажет. SQL тілінің синтаксисі ағылшын тілінің синтаксисіне негізделгеніне қарамастан, әртүрлі ДҚБЖ үшін SQL тілінің нұсқаларының синтаксисі әртүрлі болуы мүмкін.

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

Access 2003 немесе 2007 ДҚБЖ-да SQL сұрау сұрауларын көру үшін үлгі сұрауды құрастыру үшін белсенді терезеде SQL View/Mode командасын орындау керек (1-сурет).


Күріш. 1.

Access 2003 дерекқорынан оқушылардың үлгерімінің «Баға=5» критерийі бойынша деректер үлгісін алу үшін SQL операторын (SELECT) алайық (2-сурет).



Күріш. 2.

SELECT операторынан (1-сурет) келесідей, ол SQL тіліндегі деректер жиынын сипаттайды: SELECT – деректерден тұратын кестелердің атауларының алдында өріс атауларын анықтайды; FROM - кестелердің түйінді өрістері арқылы кестелерді және олардың байланыстарын анықтайды (бұл үшін INNER JOIN ... ON конструкциясы пайдаланылады), оның негізінде деректер таңдалады; WHREME – өрістерді таңдау шарттарын анықтайды; ORDER BY - «Студенттер» кестесінің «Тегі» өрісінің мәндерін өсу реті бойынша сұрыптауды анықтайды (әдепкі бойынша, өсу реті орындалады).

Мәліметтер қорынан деректерді алу нұсқауларынан келесідей, SQL тілі мәліметтер қорынан не алу керектігін сипаттайды, ал орындау ДҚБЖ-ға жүктеледі, өйткені SQL тілінде бағдарламаның орындалуын басқарудың өзіндік құралдары жоқ.

Microsoft Access SQL және ANSI SQL z салыстыру. Microsoft Access SQL негізінен ANSI-89 (1-деңгей) z стандартына сәйкес келеді. Кейбір ANSI SQL мүмкіндіктері Microsoft Access SQL z жүйесінде пайдаланылмайды. Microsoft Access SQL ANSI SQL қолдамайтын сақталған сөздер мен мүмкіндіктерді пайдаланады

Кеңейтілген z синтаксисі. Access 2000 (MS Jet 4.0) тілді ANSI SQL-92 стандартына жақындататын кеңейтімдерді қамтиды - режим Jet үшін MS OLE DB провайдерін пайдаланған кезде ғана қолжетімді.

Between конструкциясы үшін әртүрлі ережелер қолданылады. . . Және келесі синтаксисі бар: өрнек 1 1 мәні мен 2 мәні арасында Microsoft Access SQL жүйесінде 1 мәні 2 мәнінен үлкен болуы мүмкін; ANSI SQL жүйесінде 1 мәні 2 мәнінен кіші немесе оған тең болуы керек.

қойылмалы таңбалар z Microsoft Access SQL ANSI SQL қойылмалы таңбалары мен қойылмалы таңбаларының екеуін де қолдайды. Бұл таңбалар барлық жазбаларды, файл атауларын немесе белгілі бір таңбаларды қамтитын немесе белгілі бір үлгіге сәйкес келетін басқа элементтерді қамту үшін сұраулар мен өрнектерде пайдаланылады.) қатысты. Microsoft Access. ANSI қойылмалы таңбаларын және Microsoft Access бағдарламасын бір уақытта пайдалана алмайсыз. Таңбалардың тек бір жинағын пайдалануға болады және оларды араластыруға болмайды.

ANSI SQL тіл мүмкіндіктеріне Microsoft Access SQL z жүйесінде қолдау көрсетілмейді. TRANSFORM мәлімдемесі қиылысу сұрауларына қолдау көрсетеді z (Кроссовер сұрауы. Қосындыны, орташаны, мәндер санын немесе басқа статистикалық есептеулерді есептейтін, содан кейін нәтижелерді кестедегі деректердің екі жиыны бойынша топтайтын сұрау, олардың бірі бағанды ​​анықтайды тақырыптар және басқа тақырыптар жолдары.).

ANSI SQL тіл мүмкіндіктеріне Microsoft Access SQL z жүйесінде қолдау көрсетілмейді. Сұрау арқылы қайтарылатын жолдар санын шектеу үшін LIMIT TO nn ROWS сөйлемін пайдаланыңыз. z. Қосымша SQL статистикалық функциялары қамтамасыз етілген, мысалы, St. Dev және Var. П

ANSI SQL тіл мүмкіндіктеріне Microsoft Access SQL z жүйесінде қолдау көрсетілмейді. Сұрау параметрлерін анықтау үшін (Параметрлері бар сұрау. Таңдау шарттарын анықтайтын бір немесе бірнеше мәндерді пайдаланушы интерактивті түрде енгізетін сұрау. Параметрлері бар сұрау сұраудың жеке түрі емес; ол таңдау сұрауларының функционалды кеңейтімі.) PARAMETERS мәлімдемесі пайдаланылады.

Пәрмен синтаксисі ТАҢДАУ [предикат] ( * | кесте. * | [кесте. ]өріс_1 [, [кесте.]өріс_2 [, . . ]]) өрнектен [, . . . ]

SELECT мәлімдемесі аргументтері Предикат Келесі таңдау предикаттарының бірі: ALL, DISTINCTROW немесе TOP. Предикаттар қайтарылған жазбалар санын шектеу үшін пайдаланылады. Егер олар жоқ болса, әдепкі предикат ALL болады.

ALL, DISTINCTROW, TOP z предикаттары. SELECT ]] FROM z кестесінен. ALL - SQL операторында көрсетілген шарттарға сәйкес келетін барлық жазбаларды таңдайды.

DISTINCT предикат - таңдалған өрістерде қайталанатын мәндері бар жазбаларды қоспайды. Алынған деректер жинағы жаңартылмайды

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

DISTINCTROW z. DISTINCTROW қызметкерін ТАҢДАҢЫЗ. аты, кестесі. элемент_коды z. FROM қызметкердің INNER JOIN кестесі z. ON қызметкері. қызметкер_коды = кесте. қызметкер_коды;

DISTINCT SELECT DISTINCT PLOYE. Толық аты-жөні, кестесі. item_code FROM EMPLOYEE INNER JOIN кестесін ҚЫЗМЕТКЕРДЕ. Employee_id = кесте. қызметкер_коды;

SQL жүйесінде сұрау құрастырушы ретінде кестелік тілді пайдалансаңыз, сұрауға DISTINCT қосу үшін «бірегей мәндер» сұрау сипаты үшін «иә» мәнін таңдау керек, ал сұрауға DISTINCTROW қосу үшін « иә» «бірегей жазбалар» сұрау сипаты үшін.

TOP z предикаты. TOP n - ORDER BY сөйлемімен сипатталған ауқымның басында немесе соңында орналасқан жазбалардың көрсетілген санын қайтарады.

Мысал. Ең көп 5 бөлімді таңдаңыз ТОП 5 бөлімді ТАҢДАҢЫЗ. [Бөлім_атауы_толық], Санау(қызметкерлер. Қызметкер_коды) AS [Қызметкерлер саны] Бөлімнен ІШКІ ҚОСЫЛУ қызметкерлерді бөлімге. Бөлім_коды = қызметкерлер. Бөлім_коды Бөлім бойынша ТОП. [Бөлім_аты_толық] САН БОЙЫНША ТАПСЫРЫС (қызметкерлер. Қызметкер_коды) DESC;

ИЕ ҚҰРУ ОПЦИЯСЫ БАР Пайдаланушыға сұрау иесінің рұқсаттарына сәйкес келетін сұрауды іске қосатын рұқсаттарды беру үшін қауіпсіз жұмыс тобы бар көп пайдаланушылық ортада пайдаланылады.

SELECT мәлімдемесінің аргументтері өріс_1, өріс_2 деректер таңдалуы керек өрістердің атаулары болып табылады. Бірнеше өрістерді қоссаңыз, олар көрсетілген ретпен шығарылады.

SELECT операторының Alias_1, Alias_2 аргументтері кестедегі бастапқы баған атауларының орнына баған тақырыптарына айналатын атаулар болып табылады.

Есептелген өрістің атын көрсету үшін бүркеншік атты пайдалану мысалдары 1-мысал ТАҢДАУ қызметкері. Аты-жөні, [жалақы]*0. 5 Қызметкердің марапаты; 2-мысал Орташа (қызметкерлердің жалақысы) қызметкерден орташа_жалақы AS ТАҢДАҢЫЗ;

SELECT операторының аргументтері Сыртқы. Негіз. Деректер - ағымдағы дерекқорда болмаса, өрнек аргументі арқылы көрсетілген кестелерді қамтитын дерекқордың атауы.

FROM SELECT сөйлемі тізім болып табылады. Өріс FROM өрнегі z Өрнек - деректер шығарылатын бір немесе бірнеше кестелерді анықтайтын өрнек. Бұл өрнек жалғыз кестенің аты, сақталған сұраудың аты немесе INNER JOIN, LEFT JOIN немесе RIGHT JOIN әрекетінің нәтижесі болуы мүмкін.

Бірнеше (3) кестені бірлесіп өңдеу SELECT қызметкері. Толық аты-жөні, тақырыбы. [субъектінің қысқаша атауы] қызметкерден INNER JOIN (тақырып INNER JOIN [нысандарды иелену] ON тақырып. [Пән коды] = [объектілерді иелену]. [пәннің коды]) ON қызметкер. Код = [элемент меңгеру]. [қызметкер коды];

Дизайн арасында. . . Ал 1 өрнегі 2 өрнек пен 3 z өрнегі АРАСЫНДА. Microsoft Access SQL-де 2-өрнек 3-өрнектен үлкен болуы мүмкін, бірақ ANSI SQL-де ол мүмкін емес.

Ұқсас предикат үлгісінің таңбалары Ұқсас предикатпен бірге әртүрлі үлгі таңбалары қолданылады. ANSI SQL үлгісі таңбасы MS Access SQL z Кез келген бір таңба? _ (астын сызу) z Кез келген таңбалардың кез келген тобы * % z Таңбалар_тізіміндегі [таңбалар_тізімі] құрамындағы кез келген жалғыз таңба жоқ z таңбалар_тізіміне [!таңба_тізімі] қосылмаған кез келген бір таңба жоқ

z. Соңғы екі мүмкіндік тек Access 2000 z жүйесіне арналған. Access 2000 жүйесінде ANSI SQL-92 режимі ANSI z қойылмалы таңбаларын пайдалануға мүмкіндік береді. Бір сұрауда таңбаларды араластыра алмайсыз

GROUP BY z сөйлемі. ТАҢДАУ тізімі. FROM кестесінің өрістері WHERE шарты. z таңдауы топтастырылады. Өрістер – жазбаларды топтастыру үшін қолданылатын өрістердің атаулары (10-ға дейін). Аргументтегі өріс атауларының реті топтастырылады. Өрістер осы өрістердің әрқайсысы үшін топтау деңгейін анықтайды.

GROUP BY сөйлемі z Жазбаларды топтастырудан шығару үшін WHERE сөйлемін және топтаудан кейін жазбаларға сүзгіні қолдану үшін БАР сөйлемді пайдаланыңыз. z GROUP BY сөйлемін пайдаланған кезде, ТАҢДАУ мәлімдемесінің өрістер тізіміндегі барлық өрістер GROUP BY сөйлеміне қосылуы немесе SQL біріктіру функциясына дәлел ретінде пайдаланылуы керек.

Мысал. 5-тен астам қызметкері бар бөлімдер. ТАҢДАУ қызметкері. [Бөлім коды], Сан(қызметкер. Аты-жөні) AS [Қызметкерлердің саны] Қызметкерлер тобынан қызметкер. [Бөлім коды] БАР (((Сан(қызметкер. Аты-жөні))>5));

Тапсырма «фирмалар», «қызметкерлер» және «сертификаттар» кестелері бар. Әрбір компанияда қанша сертификатталған қызметкер бар екенін анықтау қажет (бір қызметкерді бірнеше PP бойынша сертификаттауға болады).

SELECT мәлімдемесі. . . INTO Синтаксисі z. Кестені құру үшін сұраныс жасайды. ТАҢДАУ өріс_1[, өріс_2[, . . . ]] INTO new. Кесте FROM дереккөз

Бірлестік сұрауы (1-мысал) Тақырыпты, қаланы жеткізушілерден ТАҢДАҢЫЗ.

Бірлестік сұрауы (2-мысал) Тақырыпты, қаланы жеткізушілерден ТАҢДАУ UNION БАРЛЫҚ ТАҢДАУ Тақырыбы, қаланы тұтынушылардан; - UNION ALL барлық жазбалардың, соның ішінде көшірмелердің қайтарылуын қамтамасыз етеді

QBE сұрау құрастырушысы арқылы ішкі сұрау жасау Егер өріс шарттарын анықтау үшін ішкі сұрауды пайдалансаңыз, сол өрістің бағанындағы Таңдау шарты жолының ұяшығына ТАҢДАУ мәлімдемесін енгізіңіз. SELECT операторы жақшаға алынуы керек.

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

z. Егер "каскадты жою" көрсетілсе, онда барлық қатысты z жазбалары жойылады. Жойылған жазбаларды қалпына келтіру мүмкін емес

Кестені құру. CREATE TABLE table командасының синтаксисі (өріс 1 түрі [(өлшемі)] [индекс1] [, 2 өріс түрі [(өлшемі)] [индекс2] [, . . ]] [, ШЕКТЕУ индексі_бірнеше_өріс [, . . ]])

Кестені құру. Access бағдарламасындағы пәрмен синтаксисі стандарттан айтарлықтай ерекшеленеді: SQL-92 стандартының барлық мүмкіндіктері орындалмаған z жаңа құрылымдар енгізілген z синтаксис басқаша

УАҚЫТТЫ УАҚЫТТЫ кесте тек кесте жасалған сеанста ғана қолжетімді. Осы сеанстың соңында ол автоматты түрде жойылады. Уақытша кестелерді бірнеше пайдаланушы бөлісе алады.

ҚЫСЫЛУ БАР z. WITH COMPRESSION атрибуты CHARACTER және MEMO деректер түрлеріне ғана рұқсат етілген. z. Юникод таңба пішіміне өту әсерін өтейді

Кесте құрылымын реттеу ALTER TABLE кестесі (ҚОСУ (БАҒАН өріс түрі[(өлшемі)] | ӨЗГЕРТУ БАҒАН өріс түрі[(өлшем)] | ШЕКТЕУ өрісі_жиынтығы) | DROP (БАҒАН өрісі I ШЕКТЕУ индексі_аты) )

z Таңбалардағы өріс өлшемі тек МӘТІН және ЕКІЛІК деректер түрлері бар өрістер үшін орнатылады z БАҒАН ҚОСУ - кестеге жаңа өріс қосу үшін z ALTER COLUMN - бар өрістің деректер түрін өзгерту үшін z DROP COLUMN - өрісті жою үшін . z ADD CONSTRAINT - индекс қосу үшін z DROP CONSTRAINT - индексті жою үшін z Бір уақытта бірнеше өрістерді немесе индекстерді қосу немесе жою мүмкін емес

Кестені құру кезінде индекс құру CREATE TABLE кестесі (өріс 1 түрі [(өлшем)] [, өріс 2 түрі [(өлшем)] [, …]] [, CONSTRAINT көп өріс индексі [, …]])

Индекс құру. Пәрмен синтаксисі CREATE [ UNIQUE ] INDEX индексі ON кестесі (өріс [, өріс, . . . . ])

Индекс құру. Пәрмен синтаксисі CREATE [ UNIQUE ] INDEX индексі ON кестесі (өріс [, өріс, . . . . ])

z индексін жасау. DISALLOW NULL - жаңа z жазбаларының индекстелген өрістерінде Null мәндерінің болуын өшіреді. IGNORE NULL индекске енгізілген z өрістерінде нөлдік мәндері бар жазбаларды индекске қосуға жол бермейді. PRIMARY – индекстелген өрістерді кілтке тағайындау

Индекстерді құру мысалдары Мысал 1. ИНДЕКС ЖАСАУ Жаңа. Index ON Employees (Үй. Телефон, Қосымша); Мысал 2. Бірегей индексті жасау Cust. ИДЕНТИФИКТИКА ҚОСУ Клиенттер (Тұтынушы идентификаторы);

ALTER TABLE индексін ALTER TABLE кестесін жасау үшін пайдалану (ҚОСУ (ҚОСУ (БАҒАН өріс түрі[(өлшем)) | ALTER БАҒАН өріс түрі[(өлшем)] | ШЕКТЕУ өрісі_жиынының индексі) | DROP (БАҒАН өрісі I ШЕКТЕУ индекс_аты) )

Көріністерді құру. Пәрмен синтаксисі - КӨРІНІС КӨРІНІСІН ЖАСАУ [(өріс_1[, өріс_2[, . . . ]])] AS нұсқауы. таңдаңыз

Кесте құрылымын өзгерту ALTER TABLE кестесі (ҚОСУ (БАҒАН өріс түрі[(өлшем)] | ALTER БАҒАН өріс түрі[(өлшем)] | ШЕКТЕУ құрама. Индекс) | DROP (БАҒАН өрісі I ШЕКТЕУ индекс атауы) )

DROP нысандарын жою (TABLE кестесі | INDEX индексі ON кестесі | PROCEDURE процедурасы | ҚАРАУ көрінісі)

ПАЙДАЛАНУШЫН ӨЗГЕРТУ немесе ДЕРЕКТЕР ҚОРЫН z. ДЕРЕКТЕР ҚОРЫНЫН ҚҰПИЯ СӨЗІН ӨЗГЕРТУ newpassword oldpassword z. ПАЙДАЛАНУШЫ пайдаланушы ҚҰПИЯ СӨЗДІ ӨЗГЕРТУ жаңа құпия сөз ескі құпия сөз

Синтаксис GRANT (артықшылық[, артықшылық, …]) ҚОСУ (КЕСТЕ кестесі | ОБЪЕКТ нысаны| CONTAINER контейнері ) TO (авторизация атауы[, авторизация атауы, …])

Артықшылықтар z ТАҢДАУ z ЖОЮ z INSERT z ЖАҢАРТУ z ҚОСУ z ҚАУІПСІЗДІК ТАҢДАУ z ЖАҢАРТУ ҚАУІПСІЗДІК z DBPASSWORD z ЖАҢАРТУ ИДЕНТЕЛІГІ z ЖАСАУ z СХЕМАНЫ ТАҢДАУ z ЖАҢАРТУ ИЕСІ

z. Нысан – кесте емес кез келген нысанға сілтеме жасай алады, мысалы, сұрау, z көрінісі. Авторизация атауы – пайдаланушы немесе топ атауы

ПАЙДАЛАНУШЫ пайдаланушыны ҚОСУ[, пайдаланушы, …] тобына Бар пайдаланушы(ларды) бар топқа қосады. Пайдаланушылар топқа тағайындалған барлық құқықтарға ие болады

TROP ПАЙДАЛАНУШЫ немесе GROUP z. DROP USER пайдаланушысы[, пайдаланушы, …] DROP USER пайдаланушыны топтан жояды, бірақ z пайдаланушысын жоймайды. DROP GROUP тобы[, топ, …] DROP GROUP тобы топты жояды, бірақ топтың пайдаланушыларына әсер етпейді; олар жай ғана топ мүшелері болуды тоқтатады

КЕРІ АЛУ – көрсетілген шектеулерден бас тарту КЕРІ АЛУ (артықшылық[, артықшылық, ...]) ҚОСУ (КЕСТЕ кестесі | ОБЪЕКТ нысаны| CONTAINTER контейнері) FROM (авторизация аты[, авторизация атауы, ...])

MS Access SQL қосымша мүмкіндіктері z. TRANSFORM операторы, айқас сұрауларды жасауға арналған z Қосымша топтық функциялар, мысалы, St. Dev және Var. P z Сипаттама ПАРАМЕТРЛЕР, параметрлері бар сұрауларды жасауға арналған

SELECT мәлімдемесі. . . INTO SELECT өрісі 1[, өріс 2[, . . . ]] INTO new_table FROM көзден


Microsoft Access SQL және ANSI SQL салыстыру Microsoft Access SQL негізінен ANSI-89 (1-деңгей) болып табылады, кейбір ANSI SQL мүмкіндіктері Microsoft Access SQL жүйесінде пайдаланылмайды Microsoft Access SQL сақталған сөздер мен Access 2000 жүйесінде ANSI SQL қолдамайтын мүмкіндіктерді пайдаланады (MS Jet). 4.0) тілді ANSI SQL-92 стандартына жақындататын кеңейтімдер енгізілді - режим Jet үшін MS OLE DB провайдерін пайдаланған кезде ғана қол жетімді.


SELECT пәрмен синтаксисі (Microsoft Access) ТАҢДАУ [ предикат ] ( * | кесте.* | [ кесте.] өріс_1 [, [ кесте.] өріс_2 [,...]]) өрнектен [,...] ТАҢДАУ тізімінен сөйлем Өріс FROM өрнегі Өрнек - деректер шығарылатын бір немесе бірнеше кестелерді анықтайтын өрнек. Бұл өрнек жалғыз кестенің аты, сақталған сұраудың аты немесе INNER JOIN, LEFT JOIN немесе RIGHT JOIN әрекетінің нәтижесі болуы мүмкін. ІШКІ БІРІКТІРУ,СОЛ БІРІСУ ОҢ ЖОҚ.


SELECT операторының аргументтері Предикат (ALL, DISTINCT, DISTINCTROW немесе TOP) таңдау шарттарының бірі болып табылады. Предикаттар қайтарылған жазбалар санын шектеу үшін пайдаланылады. Егер олар жоқ болса, әдепкі предикат БАРЛЫҚ болып табылады (SQL DISTINCT мәлімдемесінде көрсетілген шарттарға сәйкес келетін барлық жазбаларды таңдайды - таңдалған өрістердегі қайталанатын мәндерді қамтитын жазбаларды алып тастайды). DISTINCTROW - жеке қайталанатын өрістерге емес, толық қайталанатын жазбаларға негізделген деректерді өткізіп жібереді. Егер сұрау тек бір кестені немесе барлық кестелердің барлық өрістерін қамтыса, DISTINCTROW предикаты еленбейді. TOP n - ORDER BY сөйлемі арқылы сипатталған ауқымның басында немесе соңында орналасқан жазбалардың көрсетілген санын қайтарады. ТАҢДАУ ]] Ең көп 5 бөлімнің кестесінен: ҮЗДІК 5 қызметкерді ТАҢДАҢЫЗ.[Бөлім коды], Саны(қызметкер.толық аты) ҚЫЗМЕТКЕР ТОБЫ БОЙЫНША қызметкер.[бөлім коды] САН БОЙЫНША ТАПСЫРЫС (қызметкер.Т.А.Ә.) DESC;


SELECT операторының аргументтері Кесте – жазбаларды таңдау керек кестенің аты. ИЕ ҚҰҚЫҚ ОПЦИЯСЫ БАР - қауіпсіз жұмыс тобы бар көп пайдаланушылық ортада, пайдаланушыға сұрау иесінің рұқсаттарына сәйкес сұрау рұқсаттарын беру үшін пайдаланылады. өріс_1, өріс_2 - деректер таңдалуы тиіс өрістердің атаулары. Бірнеше өрістерді қоссаңыз, олар көрсетілген ретпен шығарылады. Alias_1, Alias_2 - кестедегі бастапқы баған атауларының орнына баған тақырыптарына айналатын атаулар. Өрнек - таңдалған мәліметтерді қамтитын бір немесе бірнеше кестелердің атаулары Сыртқы деректер қоры - егер олар ағымдағы дерекқорда болмаса, өрнек аргументі арқылы көрсетілген кестелерді қамтитын деректер қорының атауы. ТАҢДАУ қызметкер.толық аты-жөні, [жалақы]*0,5 қызметкерден бонус АС; Орташа_жалақыны қызметкерден ТАҢДАҢЫЗ;


Бірнеше кестелерді бірлесіп өңдеу SELECT қызметкер.Аты-жөні, тақырыбы.[тақырыптың қысқаша атауы] FROM қызметкердің INNER JOIN (тақырып INNER JOIN [элементтердің меншік құқығы] ON тақырып.[Пән коды] = [элементтердің меншік құқығы].[пән коды] ) ON workee.Code = [элементтің меншік құқығы].[қызметкер коды];




Between...және 1-өрнегі 2-өрнегі ЖӘНЕ 3-өрнегі (Microsoft Access SQL-де 2-өрнегі 3-өрнектен үлкен болуы мүмкін, бірақ ANSI SQL-де емес). қызметкер.толық аты-жөні, қызметкер.жалақыны ҚАЙДА қызметкерден ТАҢДАҢЫЗ ((((қызметкер.жалақы) 1000 мен 2000 арасында)); Сұрау: қызметкер.толық аты-жөні, қызметкер.жалақы ҚАЙДА қызметкерден ТАҢДАУ ((((қызметкер.жалақы) 2000 мен 1000 арасында)); қатені тудырмайды және бірдей жауап береді қызметкер.толық аты-жөні, қызметкер.жалақы FROM қызметкер ҚАЙДА ((((қызметкер.жалақы) 15000)); қызметкер.толық аты-жөні, қызметкер.жалақыны ҚАЙДА қызметкерден ТАҢДАҢЫЗ ((((қызметкер.жалақы) 1000 мен 2000 арасында емес));


Үлгі таңбалары Түрлі үлгі таңбалары Like предикатымен бірге пайдаланылады. MS Access SQL ANSI SQL үлгісі символы бір таңба? _ (астын сызу) таңбалар тобы * таңбалар_тізіміне енгізілген % бір таңба [таңбалар_тізімі] таңбалар_тізіміне қосылмаған бір таңба жетіспейді [! character_list] жоқ Соңғы екі опция тек Access 2000 ANSI SQL-92 режимінде ANSI қойылмалы таңбаларын пайдалануға мүмкіндік береді. Бір сұраудағы таңбаларды араластыра алмайсыз. қызметкердің толық аты-жөнін ТАҢДАУ қызметкердің ҚАЙДАСЫ ((((қызметкер.толық аты) "D*" сияқты));


Сөйлем GROUP BY BY SELECT Fields FROM кестесінің тізімі ҚАЙДА Топтастырылған Өрістер - жазбаларды топтастыру үшін пайдаланылатын өрістердің атаулары (10-ға дейін). Топтастырылған өрістер аргументіндегі өріс атауларының реті сол өрістердің әрқайсысы үшін топтастыру деңгейін анықтайды. Жазбаларды топтастырудан шығару үшін WHERE сөйлемін және топтаудан кейін жазбаларға сүзгіні қолдану үшін HAVING сөйлемін пайдаланыңыз. HAVING GROUP BY сөйлемін пайдаланған кезде, SELECT операторының өрістер тізіміндегі барлық өрістер GROUP BY сөйлеміне қосылуы немесе SQL біріктіру функциясына дәлел ретінде пайдаланылуы керек. 5-тен астам қызметкері бар бөлімдер: әріптестерді ТАҢДАУ[Бөлім коды], Сан(әріптестердің толық аты-жөні) AS [Қызметкерлердің саны] әріптестерден GROUP BY әріптестер[бөлім коды] БАР (((Сан( әріптестердің аты-жөні))>5 )); 5));">




Ішкі сұрау. Предикат бар. ТАҢДАУ қызметкері компания, Count(қызметкер қызметкер) AS number_certificate_employee FROM қызметкер ҚАЙДА (((Бар (SELECT DISTINCT қызметкер компаниясы, қызметкер қызметкер FROM қызметкер INNER JOIN данасы ON қызметкер қызметкер = қызметкер қызметкер))False)) GROUP BY cooperating company; False)) GROUP BY BY;"> False)) GROUP BY BY бірлескен меншік;"> False)) GROUP BY BY бірлескен меншік;" title="Кірістірілген сұрау. Предикат бар. SELECT co. -иелік компания, Count(collaborator) AS number_certificate_collaborator FROM collaborator WHERE ((((БІРДЕГІ ТАҢДАУ DISTINCT серіктес, серіктес FROM серіктес INNER JOIN данасы ON) серіктес = даналық серіктес)) False)) GROUP BY серіктес компания;"> title="Ішкі сұрау. Предикат бар. ТАҢДАУ қызметкері компания, Count(қызметкер қызметкер) AS number_certificate_employee FROM қызметкер ҚАЙДА (((Бар (SELECT DISTINCT қызметкер компаниясы, қызметкер қызметкер FROM қызметкер INNER JOIN данасы ON қызметкер қызметкер = қызметкер қызметкер))False)) GROUP BY cooperating company;"> !}








QBE сұрау құрастырушысы арқылы ішкі сұрау жасау Егер өріс шарттарын анықтау үшін ішкі сұрауды пайдалансаңыз, сол өрістің бағанындағы Таңдау шарты жолының ұяшығына ТАҢДАУ мәлімдемесін енгізіңіз. SELECT операторы жақшаға алынуы керек.








Жазбаларды жою. SQL сұранысы (генерацияланған) DELETE DISTINCTROW student.толық аты-жөні FROM student WHERE (((student.full name)="Burlak G. N."));


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


Жазбаларды жою. SQL сұранысы Сұраныс: DELETE * FROM student WHERE student.Full name="Burlak G. N."; ұқсас нәтиже береді.



















35





41



SQL тілі мәліметтер қорынан деректерді алу үшін қолданылады. SQL - бұл ағылшын тіліне өте ұқсас, бірақ дерекқорды басқару бағдарламаларына арналған бағдарламалау тілі. SQL Access бағдарламасындағы әрбір сұрауда қолданылады.

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

Бұл Access үшін SQL тілі туралы мақалалар сериясының мақаласы. Ол деректерді алу үшін SQL пайдалану негіздерін сипаттайды және SQL синтаксисінің мысалдарын ұсынады.

Бұл мақалада

SQL дегеніміз не?

SQL - бұл фактілер жиынтығымен және олардың арасындағы байланыстармен жұмыс істеуге арналған бағдарламалау тілі. Microsoft Office Access сияқты реляциялық дерекқорды басқару бағдарламалары деректерді өңдеу үшін SQL пайдаланады. Көптеген бағдарламалау тілдерінен айырмашылығы, SQL тіпті жаңадан бастағандар үшін де оқылады және түсінікті. Көптеген бағдарламалау тілдері сияқты, SQL да ISO және ANSI сияқты стандарттар комитеттері мойындаған халықаралық стандарт болып табылады.

Деректер жиындары сұрақтарға жауап беру үшін SQL тілінде сипатталған. SQL пайдалану кезінде дұрыс синтаксисті пайдалану керек. Синтаксис – тілдің элементтерін дұрыс біріктіруге мүмкіндік беретін ережелер жиынтығы. SQL синтаксисі ағылшын синтаксисіне негізделген және көптеген элементтерді Visual Basic for Applications (VBA) синтаксисімен бөліседі.

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

Фамилияны ТАҢДАҢЫЗ
FROM контактілерден
WHERE First_Name = "Мэри";

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

SELECT мәлімдемелері

SELECT операторы SQL тіліндегі деректер жинағын сипаттау үшін қолданылады. Ол дерекқордан алынуы қажет деректер жиынының толық сипаттамасын қамтиды, соның ішінде мыналар:

    мәліметтерді қамтитын кестелер;

    әртүрлі көздерден алынған деректер арасындағы байланыстар;

    деректер таңдалатын өрістер немесе есептеулер;

    сұрау нәтижесіне енгізілген деректер сәйкес келуі керек таңдау шарттары;

    қажеттілігі мен сұрыптау әдісі.

SQL мәлімдемелері

SQL операторы сөйлемдер деп аталатын бірнеше бөліктерден тұрады. SQL операторындағы әрбір сөйлемнің мақсаты бар. Кейбір ұсыныстар қажет. Төмендегі кестеде ең жиі қолданылатын SQL операторлары көрсетілген.

SQL мәлімдемесі

Сипаттама

Міндетті

Қажетті деректерді қамтитын өрістерді анықтайды.

ТАҢДАУ сөйлемінде көрсетілген өрістерді қамтитын кестелерді анықтайды.

Нәтижелерге енгізілген барлық жазбалар сәйкес келетін өрісті таңдау шарттарын анықтайды.

Нәтижелердің сұрыптау ретін анықтайды.

Агрегациялау функцияларын қамтитын SQL мәлімдемесінде SELECT сөйлемінде жиынтық мән есептелмейтін өрістерді көрсетеді.

Мұндай өрістер болған жағдайда ғана

Агрегациялау функцияларын қамтитын SQL мәлімдемесі ТАҢДАУ сөйлемінде жиынтық мән есептелетін өрістерге қолданылатын шарттарды анықтайды.

SQL шарттары

Әрбір SQL сөйлемі сөйлеу бөліктерімен салыстыруға болатын терминдерден тұрады. Төмендегі кестеде SQL терминдерінің түрлері көрсетілген.

SQL термині

Салыстырмалы сөйлем мүшесі

Анықтама

Мысал

идентификатор

зат есім

Өріс атауы сияқты дерекқор нысанын анықтау үшін пайдаланылатын атау.

Клиенттер.[Телефон нөмірі]

оператор

етістік немесе үстеу

Әрекетті көрсететін немесе өзгертетін кілт сөз.

тұрақты

зат есім

Сан немесе NULL сияқты өзгермейтін мән.

өрнек

сын есім

Бір мәнді есептеуге арналған идентификаторлардың, операторлардың, тұрақтылар мен функциялардың тіркесімі.

>= Өнімдер.[Бағасы]

Негізгі SQL сөйлемдері: SELECT, FROM және WHERE

SQL операторларының жалпы форматы:

ТАҢДАУ өрісі_1
Кестеден_1
WHERE шарты_1
;

Ескертулер:

    Access SQL мәлімдемелеріндегі жол үзілімдерін құрметтемейді. Осыған қарамастан, SQL мәлімдемесі оны жазған адамға да, басқаларға да оңай оқылатындай етіп әрбір сөйлемді жаңа жолдан бастаған жөн.

    Әрбір SELECT операторы нүктелі үтірмен (;) аяқталады. Нүктелі үтір соңғы сөйлемнің соңында немесе SQL операторының соңында бөлек жолда болуы мүмкін.

Access-тегі мысал

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

1. SELECT сөйлемі

2. FROM сөйлемі

3. WHERE сөйлемі

SQL синтаксисі қалай жұмыс істейтінін түсіну үшін мысал сөйлемді сөйлем бойынша бөліп көрейік.

SELECT сөйлемі

ТАҢДАУ, Компания

Бұл SELECT сөйлемі. Онда екі идентификатор ("[Электрондық пошта мекенжайы]" және "Компания") бар (ТАҢДАУ) мәлімдемесі бар.

Егер идентификаторда бос орындар немесе арнайы таңбалар болса (мысалы, «Электрондық пошта мекенжайы»), ол тікбұрышты жақшаға алынуы керек.

ТАҢДАУ сөйлемі өрістерді қамтитын кестелерді көрсетуді талап етпейді және нәтижелерге енгізілген деректермен орындалуы керек таңдау шарттарын көрсете алмайсыз.

SELECT операторында SELECT сөйлемі әрқашан FROM сөйлемінің алдында келеді.

FROM сөйлемі

FROM контактілерден

Бұл FROM сөйлемі. Оның құрамында (FROM) мәлімдемесі бар, одан кейін идентификатор (Контактілер).

FROM сөйлемі таңдалатын өрістерді көрсетпейді.

WHERE сөйлемі

WHERE City = "Сиэтл"

Бұл WHERE сөйлемі. Онда (ҚАЛА = "Ростов") өрнектен кейін (ҚАЙДА) мәлімдемесі бар.

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

Нәтижелерді сұрыптау: ORDER BY

Microsoft Excel сияқты Access бағдарламасы кестедегі сұрау нәтижелерін сұрыптауға мүмкіндік береді. ТАПСЫРЫС БОЙЫНША сөйлемді пайдалану арқылы сұрау орындалғанда нәтижелердің қалай сұрыпталатынын да көрсетуге болады. Егер ORDER BY сөйлемі пайдаланылса, ол SQL операторының соңында пайда болуы керек.

ORDER BY сөйлемінде сұрыпталатын өрістер тізімі сұрыптау қолданылатын ретпен бар.

Мысалы, алдымен компания өрісі бойынша нәтижелерді кему ретімен сұрыптағыңыз келеді делік, содан кейін бірдей Компания өрісінің мәні бар жазбалар болса, оларды электрондық пошта мекенжайы өрісі бойынша өсу ретімен сұрыптаңыз. ORDER BY тармағы келесідей болады:

DESC компаниясының тапсырысы,

Ескерту:Әдепкі бойынша, Access мәндерді өсу ретімен сұрыптайды (А-дан Я-ға дейін, ең кішіден үлкенге). Оның орнына мәндерді кему ретімен сұрыптау үшін DESC кілт сөзін көрсету керек.

ТАПСЫРЫС БОЙЫНША тармағы туралы қосымша ақпаратты ТАПСЫРЫС БОЙЫНША тармақты қараңыз.

Жиынтық деректермен жұмыс: GROUP BY және HAVING сөйлемдері

Кейде айдағы жалпы сатылымдар немесе қоймадағы ең қымбат заттар сияқты жиынтық деректермен жұмыс істеу қажет. Ол үшін ТАҢДАУ сөйлемі өріске жиынтық функцияны қолданады. Мысалы, әрбір компания үшін электрондық пошта мекенжайларының санын алу үшін сұрауды орындағыңыз келсе, SELECT сөйлемі келесідей болуы мүмкін:

Белгілі бір жиынтық функцияны пайдалану мүмкіндігі өрістегі деректер түріне және қажетті өрнекке байланысты. Қол жетімді жиынтық функциялар туралы қосымша ақпаратты SQL статистикалық функциялары бөлімінен қараңыз.

Жиынтық функцияда пайдаланылмайтын өрістерді көрсету: GROUP BY сөйлемі

Жиынтық функцияларды пайдаланған кезде әдетте GROUP BY сөйлемін жасау керек. GROUP BY сөйлемі біріктіру функциясы қолданылмайтын барлық өрістерді көрсетеді. Егер жиынтық функциялар сұраудағы барлық өрістерге қолданылса, GROUP BY сөйлемін жасаудың қажеті жоқ.

GROUP BY сөйлемі, WHERE сөйлемі болмаса, WHERE немесе FROM сөйлемінен кейін бірден келуі керек. GROUP BY сөйлемі өрістерді ТАҢДАУ сөйлемімен бірдей ретпен тізімдейді.

Алдыңғы мысалды жалғастырайық. ТАҢДАУ сөйлемінде, егер жинақтау функциясы тек [Электрондық пошта мекенжайы] өрісіне қолданылса, GROUP BY сөйлемі келесідей болады:

Компания бойынша ТОП

GROUP BY сөйлемі туралы қосымша ақпаратты GROUP BY сөйлем мақаласын қараңыз.

Топтау шарттарын пайдалана отырып, жинақталған мәндерді шектеу: HAVING сөйлемі

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

Мысалы, AVG функциясы (орташа мәнді есептейтін) ТАҢДАУ сөйлеміндегі бірінші өріске қолданылады делік:

SELECT COUNT(), Компания

COUNT функциясының мәніне негізделген сұрау нәтижелерін шектегіңіз келсе, WHERE сөйлеміндегі осы өріске таңдау шартын қолдана алмайсыз. Оның орнына шартты HAVING сөйлемінде орналастыру керек. Мысалы, егер компанияда бірнеше электрондық пошта мекенжайлары болса ғана сұрауыңыз жолдарды қайтаруын қаласаңыз, келесі HAVING сөйлемін пайдалана аласыз:

COUNT()>1

Ескерту:Сұрау WHERE тармағында көрсетілген статистикалық функцияларда пайдаланылмайтын өрістер үшін таңдау шарттарымен және HAVING сөйлеміндегі статистикалық функцияларда пайдаланылатын өрістерге арналған шарттармен WHERE сөйлемін де, HAVING сөйлемін де қамтуы мүмкін.

HAVING сөйлемі туралы қосымша ақпаратты HAVING сөйлем мақаласын қараңыз.

Сұрау нәтижелерін біріктіру: UNION операторы

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

UNION операторы екі SELECT операторын біреуіне біріктіруге мүмкіндік береді. Біріктірілетін ТАҢДАУ нұсқауларында бірдей немесе үйлесімді деректер түрлері бар шығыс өрістерінің саны мен реті бірдей болуы керек. Сұрауды іске қосқан кезде, сәйкес өрістердің әрбір жинағынан алынған деректер бір шығыс өрісіне біріктіріледі, сондықтан сұрау шығысында әрбір жеке ТАҢДАУ мәлімдемесі сияқты көптеген өрістер болады.

Ескерту:Біріктіру сұрауларында сандық және мәтіндік деректер түрлері үйлесімді.

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

Екі SELECT мәлімдемесін біріктіруге арналған сұрауда келесі негізгі синтаксис бар:

ТАҢДАУ өрісі_1
Кестеден_1
ОДА
ТАҢДАУ өрісі_a
Кестеден_a
;

Мысалы, сізде «Өнімдер» және «Қызметтер» деп аталатын екі кесте бар делік. Екі кестеде өнімнің немесе қызметтің атауы, бағасы және кепілдік ақпараты бар өрістер, сондай-ақ ұсынылатын өнімнің немесе қызметтің айрықшалығын көрсететін өріс бар. Өнімдер мен қызметтер кестелері кепілдіктердің әртүрлі түрлерін қамтамасыз еткенімен, негізгі ақпарат бірдей (жеке өнімдер немесе қызметтерге кепілдік беріледі). Екі кестедегі төрт өрісті біріктіру үшін келесі біріктіру сұрауын пайдалануға болады:

Атын, бағасын, қол жетімді кепілдікті, эксклюзивті_ұсынысты ТАҢДАҢЫЗ
FROM Өнімдер
БАРЛЫҚ ОДАҚ
ТАҢДАУ атауы, бағасы, кепілдік_қол жетімді, эксклюзивті_ұсыныс
FROM қызметтері
;

UNION операторын пайдаланып SELECT мәлімдемелерін біріктіру туралы қосымша ақпаратты қараңыз

Алдыңғы мақалаларда мәселелер талқыланды. SQL сұраныстары негізінде «sql_training_st.mdb» деректер қоры кестелерінің құрылымын құру технологиясы қарастырылған. Сонымен қатар, SQL сұрауларын пайдалана отырып, ACCESS ДҚБЖ кестелері "sql_training_st.mdb" толтырылды.

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

SQL тілі төрт топтан тұрады:

  • мәліметтерді өңдеу тілі DML;
  • DDL деректерін анықтау тілі;
  • деректерді басқару тілі DCL;
  • TCL транзакцияны басқару тілі.

DML тобына SQL сұрауларының төрт негізгі түрі кіреді:

  • INSERT – кестенің соңына бір немесе бірнеше жазбаларды қосуға арналған;
  • UPDATE – кесте бағандарындағы бар жазбаларды өзгертуге немесе кестедегі деректерді өзгертуге арналған;
  • DELETE – кестеден жазбаларды жоюға арналған;
  • SELECT – кестелерден деректерді таңдауға арналған.

Дерекқорға түзетуші сұрауларға қатысты SQL сұрауларының алғашқы үш түрі (INSERT, UPDATE, DELETE) бетте талқыланды.

Бұл мақалада Access дерекқор кестелерінен деректерді алуға арналған сұрауларды қарастырамыз.

Access 2003 немесе 2007 дерекқорында сақталған ақпаратты алу үшін кестелерден деректерді таңдау үшін ТАҢДАУ сұрауын пайдалануға болады.

Үлгі алу үшін келесі SQL сұранысын (SQL операторын) құрастырайық, бұл үшін View/SQL Mode командасын орындау арқылы SQL режимін таңдаңыз; Пернетақтадан келесі SQL операторын енгізіңіз:

ТАҢДАУ *
Студенттерден;

Бұл мәлімдеме "SELECT *" және "FROM Students" деген екі тармақтан тұрады. Бірінші тармақта SELECT операторы және идентификатор * бар («идентификатор *» кестенің барлық бағандарының тізімін білдіреді). Екінші тармақта FROM операторы мен «Оқушылар» идентификаторы бар.

FROM - SELECT сөйлемінде көрсетілген өрістерді қамтитын Студенттер кестесін анықтайды. Таңдау сұрауы әрқашан екі оператордан тұратынын атап өткен жөн: SELECT және FROM. Таңдау шарттарына байланысты таңдау сұрауында басқа операторлар болуы мүмкін. 1-суретте деректерді алу сұрауының скриншоты көрсетілген.


Күріш. 1. Деректерді таңдау үшін SQL SELECT сұрауы

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

Сұранысты «Студент-сұрау1» деген атпен сақтаңыз. «Сақтау» командасын орындау нәтижесінде «Навигациялық аймақта» «Сұраныс: Студенттер-сұраныс1» нысаны пайда болады.

Таңдау сұрауын сақтағаннан кейін «Іске қосу» белгішесін басу арқылы осы сұрауды орындау керек. «Орындау» командасының нәтижелері суретте көрсетілген. 2.



Күріш. 2. Оқушылар кестесінің барлық бағандарынан деректерді таңдау