Similar presentations:
SQL тили. SQL операторлари
1.
8-9-маъруза. SQL тили. SQLоператорлари.
Рахимбоев Х.Ж.
Курс-2
2.
Режа:SQL тарихи
SQL вазифаси ва стандартлари
SQL диалектлари
SQL режимлари
SQL операторлари
SQL синтаксиси
3.
SQL тарихи• Маълумки, реляцион моделнинг тарихи (ва
билвосита SQL тарихи ҳам) 1970 йил
Е,Ф.Коддни
(бу
пайтда
у
IBM
корпорациясининг Сан Хоседаги тадқиқот
марказида
ишлаган)
мақоласи
чиққан
даврдан
бошланади.
1974
йил
шу
лабораторияда ишловчи Д. Чемберлен
"Structured English Query Language" ёки SEQUEL
деб номланган тилни эълон қилади. 1976 йил
бу тилнинг қайта ишланган SEQUEL/2
версияси яратилди ва у расмий равишда
SQL деб аталган.
4.
SQL тарихи• SQL тили реляцион алгебра пайдо бўлгандан кейин пайдо
бўлди ва унинг биринчи прототипи IBM Research компанияси
томонидан 70 йиллар охирида яратилган. Бу тил биринчи бўлиб
IBM System R номли МББТ таркибига киритилган. Кейинчалик
бу тил кўпгина тижорат МББТ таркибида қўлланилган ва кенг
тарқалганлиги сабабли вақт ўтиши билан реляцион МББТ ларда
маълумотлар устида амаллар бажарувчи тилларнинг
норасмий стандарти бўлиб қолди. SQL тилининг биринчи
рамий стандарти 1989 йил қабул қилинган. Кўпгина МББТ лар
ушбу стандартни қўллаб – қувватлайди. Бироқ маълумотлар
базаси
билан
боғлиқ
ахборот
технологияларининг
ривожланиши ва баъзи талабларнинг пайдо бўлиши
биринчи SQL стандартини қайта ишлаш ва кенгайтиришни
тақоза этди.
5.
SQL тарихи• 1992 йил охирида SQL тилининг янги халқаро стандарти (SQL/92 ёки
SQL2) қабул қилинди, унда ҳам баъзи камчиликлар аниқланган, бироқ
шунга қарамасдан SQL/89 га нисбатан аниқ ва тўлиқроқ хисобланади.
Хозирги
пайтда
кўпгина
МББТ
ишлаб
чиқарувчилар
ўз
махсулотларини
SQL2 стандартини қаноатлантирадиган қилиб
ўзгартирдилар.
• 1999 йил SQL3 деб аталган янги стандарт пайдо бўлди. Агар SQL1 ва
SQL2 стандартлари бири –биридан миқдор жихати билан фарқ қилган
бўлса, SQL3 стандарти сифат жихатлари билан фарқланади. SQL3 га
мураккаб структурага эга маълумотлар типини ишлатиш имконини
берадиган янги маълумотлар типи киритилган. Бу типни объектга
мўлжалланганлик даражаси юқори хисобланади. SQL тилини тула
қонли анъанавий дастурлаш тиллари таркибига киритиб бўлмайди.
Чунки унда дастур бажарилишини бошқарувчи ва бошқа кўпгина
анъанавий оператторлар йўқ. Унда фақат маълумотлар базасида
сақланаётган маълумотиларга мурожаат қилувчи операторлар мавжуд.
6.
SQL тарихиSQL тили ўрганиш учун жуда осон.
• бу нопроцедура тили. Шунинг учун унда маълумотни
қандай олиш эмас, балки қайси маълумотни олиш кераклиги
кўрсатилади. Бошқача айтганда, SQL тили маълумотларга
мурожаат усулини
кўрсатишни
талаб
этмайди.
Бошқа
замонавий тиллар каби SQL тили операторларнинг мустақил
форматига эга. Яъни операторларни ёзишда операторларни
алохида элементлари экрандаги маълум ўринларда жойлашиши
билан боғлиқ эмас.
• буйруқлар инглиз тилининг одатдаги сўзларидан
иборат калит сўзлардан ташкил топган, масалан, CREATE TABLE
(жадвал яратиш), INSERT (киритиш), SELECT (танлаш), ёки:
• CREATE TABLE Staff (staffNo VARCHAR(5), IName
VARCHAR(15), salary DECIMAL(7,2));
7.
Язык SQLSQL тилининг вазифаси
SQL
(Structured
Query
Language)
нопроцедура тили бўлиб фойдаланувчи
ва
амалий дастурларга реляцион
маълумотлар
базасини бошқариш тизими (РМББТ) билан
мулоқат қилиш учун мўлжалланган.
Алоҳида бйруқлари
мантиқан боғлиқ эмас.
7
бир-бири
билан
8.
SQL – стандартлари.• SQL стандартлари , Америка стандартлар миллий
институти томонидан қабул қилинган (ANSI):
SQL-1 (SQL/89) – биринчи стандарти.
SQL-2 (SQL/92) – асосий кенгайтирилган стандарт.
SQL-3 (SQL/1999, SQL/2003) – маълумотларнинг
объектли-реляцион моделини қўллаш ва х.к. учун .
8
9.
SQL стандартлариЙил
Номи
Бошқа номи
Ўзгартишлар
1986
SQL-86
SQL-87
ANSI институти томонидан қабул қилинган ва 1987 йил ISO томонидан
мақулланган биринчи стандарт.
1989
SQL-89
FIPS 127-1
Олдинги стандарга нисбатан ишлов берилган варианти
1992
SQL-92
SQL2, FIPS 127- Катта ўзгартишлар киритилган (ISO 9075); SQL-92 стандарининг Entry
2
Level даражаси FIPS 127-2 стандарти сифатида қабул қилинган.
1999
2003
SQL:1999
SQL:2003
2006
SQL:2006
2008
SQL:2008
2011
SQL:2011
2016
SQL:2016
SQL3
Регулярных ифода, рекурсив сўровлар, триггерларни қўллаб-қувватлаш
, базовой процедура кенгайтмалари, носкаляр маълумотлар типларини
ва баъзи объектга-мўлжалланган қўллаб-қувватлаш имкониятларни
киритилган.
XML- маълумотлар, ойна функциялари ( OLAP- маълумотлар базаси
билан ишлашда қўлланиладиган), кетма кетликлар генератори ва улар
асосидаги маълумотлар типлари билан ишловчи кенгайтмалар
киритилган.
XML-маълумотлар билан ишлаш функциялари сезиларли
кенгайтирилган. Уларни SQL ва Xquery сўровларида баравар ишлатиш
имконияти пайдо бўлди.
Ойна функцияларининг имкониятлари яхшиланган, SQL:2003[7]
Устандартидаги зиддиятлар бартараф этилган]
Хронологик маълумотлар базасини қўллаб қувватлаш жорий
этилган (PERIOD FOR).
Сатрлар даражасидаги ҳимоя, полиморф жадвалли функциялар, JSON.
10.
SQL диалектлариМББТ
Номи
Кенгайтмаси
InterBase/FireBird
IBM DB2
MS SQL Server
PSQL
SQL PL
T-SQL
Procedural SQL
SQL Procedural Language
Transact-SQL
MySQL
Oracle
SQL/PSM
PL/SQL
SQL/Persistent Stored Module
Procedural Language/SQL (Ada
тилига асосланган)
PostgreSQL
PL/pgSQL
Procedural Language/PostgreSQL
(Oracle PL/SQL га ўхшаш)
СУБД Informix;
Informix-SQL
Microsoft Access.
Jet SQL
10
10
11.
SQL режимлариSQL тили 2 та усулда қўлланилиш мумкин; интерактив SQL ва амалий
дастурга киритилган SQL.
Интерактив режимда маълумотлар базаси билан ишлашда фойдаланувчи
мулоқат режимида ишлайди, яъни SQL тилидаги сўровни киритади ва
натижани олади. Бу усулда интерактив ишлаш назарда тутилади. Бунда
фойдаланувчи SQL операторларини терминалдан киритади.
Иккинчи, амалий дастурга киритилган режимда ишлашнинг ҳам 2 усули
мавжуд: киритилган SQL ва иловаларни дастурлаш интерфейси
Киритилган SQL режимида бошқа дастурлаш тилларида яратилган дастур
таркибига киритилади. Бу маълумотлар базаси билан бошқа алгоритмик
тилларда яратилган амалий дастурлар орқали ишлашни таъминлайди. SQL
операторлари киритилган дастурни компиляциялашда дастур матнини ишчи
дастурга ўзгартирувчи махсус SQL препроцессор зарур бўлади.
Иловаларни дастурлаш интерфейси (API application program interface). Бу
усулдан фойдаланганда амалий дастур МББТ билан махсус функциялар орқали
алоқа қилади. Бу функция чақирилганида дастур МББТ га SQL операторларни
узатади ва сўров натижаларини олади. Бунда махсус препроцессор зарур
бўлмайди.
11
12.
SQL синтаксиси• Функциялар ва объектлар номларида символлар регистрлари
инобатга олинмайди: SELECT = sELeCt.
• Лекин текст майдонлари бўйлаб қидиришда регистр инобатга
олинади
• SQL оператори ёзилган сатрлари сони ихтиёрий бўлиши
мумкин
• Сатр охири белгисини ишлатиш шарт эмас
• --бир сатрли ва /*кўп сатрли */ изохлардан фойдаланиш
мумкин
• Ҳар бир транзакция нуқта вергул билан тугалланади, алоҳида
буйруқ охирига бу шарт эмас
12
3
13.
SQL операторлариSQL қуйидаги операторлар гурухларига ажратилади:
Маълумотлар базаси объектларини аниқловчи
операторлар (Data Definition Language – DDL): CREATE,
ALTER, DROP ва х.к.;
Маълумотларни
манипуляциялаш
операторлари (Data Manipulation Language - DML):
INSERT, UPDATE, DELETE, SELECT;
Маълумотларни бошқариш ва ҳимоялаш
операторлари данными (Data Control Language – DCL):
GRANT, REVOKE.
Транзакцияларни
бошқариш
буйруқлари
(Transaction Control Language – TCL): COMMIT,
ROLLBACK, SAVEPOINT;
13
14.
SQL операторлари. DDLDDL операторлари - маълумотлар базаси
объектларини аниқлаш:
CREATE DATABASE - маълумотлар базасини яратиш
DROP DATABASE - маълумотлар базасини ўчириш
данных
CREATE TABLE – жадвал яратиш
ALTER TABLE – жадвални ўзгартириш
DROP TABLE – жадвални ўчириш
CREATE DOMAIN – домен яратиш
ALTER DOMAIN - доменни ўзгартириш
DROP DOMAIN - доменни ўчириш
CREATE VIEW – тасаввур яратиш
DROP VIEW – тасаввурни ўчириш
14
15.
SQL операторлари.DDLCREATE <OBJECT> <NAME> [параметры]
• Яратиладиган объектлар типлари:
– DATABASE – маълумолар базаси;
– SCHEMA – маълумотлар схемаси;
– TABLE – жадвал (муносабат);
– CONSTRAINT – чеклов;
– ATTRIBUTE – атрибут;
– VIEW – тасаввур;
– INDEX – индекс;
– SEQUENCE – кетма кетлик;
– STORED PROCEDURE – сақланувчи процедура;
– TRIGGER – триггер;
– USER – МБ фойдаланувчиси.
15
16.
Операторы SQLSQL операторлари.DML
DML операторлар – маълумотлар
манипулиацияси
SELECT – жадвалдан сатрларни танлаш
INSERT – жадвалга сатр киритиш
UPDATE – жадвалдаги сатрни ўзгартириш
DELETE – жадвалдаги сатрни ўчириш
16
17.
SQL операторлари. TCLТранзакцияларни бошқариш буйруқлари - TCL
DML операторлари ёрдамида амалга оширилган
ўзгаришларни бошқариш учун фойдаланилади. Улар
ёрдамида DML- операторлар транзакциялар деб
аталувчи ягона мантиқий бирликка бирлаштирилади.
COMMIT – транзакцияни тугатиш ва барча
ўзгаришларни МБ да қайд қилиш
ROLLBACK - транзакцияни ва МБ даги барча
ўзгаришларни бекор қилиш
SET TRANSACTION - транзакцияни бажаришга оид
бирор шартни ўрнатиш
17
18.
SQL операторлари. DCLМаълумотларни бошқариш ва ҳимоялаш
операторлари – DCL
GRANT
–
фойдаланувчи
ёки
иловага
маълумотларни манипуляциялашга ваколат бериш
REVOKE - фойдаланувчи ёки иловага берилган
ваколатни бекор қилиш
18
19.
SQL асосий тушунчалари1.
SQL оператор структураси
Директива
Калит сўз
Жадвал номи
SELECT *
FROM Students
WHERE StNo = 2
Устун номи
Ифодалар
Константа
Директивалар оператор бажарадиган амални тавсифлайди: SELECT
(танлаш), CREATE (яратиш), INSERT (киритиш), DELETE (ўчириш),
UPDATE (янгилаш), DROP (ўчириш), ALTER (ўзгартириш), COMMIT
(тугатиш ва қайд қилиш), ROLLBACK (ўзгаришларни бекор қилиш).
19
20.
SQL асосий тушунчалари1.
Ифодалар оператор иш кўраладиган маълумотларни билдиради
ёки оператор бажаридиган амални аниқлайди: FROM (қаердан),
WHERE (қачон), GROUP BY (…бўйича группалаш), HAVING (эга бўлган),
ORDER BY (…бўйича тартиблаш), INTO (қаерга).
2.
Номлар (идентификаторлар)
–
–
узунлиги –128 символгача
Қўлланиладиган символлар – латин алфатидаги фақат катта ёки
кичик ҳарфлар, рақамлар ёки ост чизиқ (_). Биринчи символ ҳарф
бўлиши шарт.
https://html5css.ru/, https://www.w3schools.com/default.asp
20
21.
SQL асосий тушунчалари. Маълумотлар типлари3.
Комментарий
–
–
4.
/* и */ − кўп сатрли комментарий
-- − бир сатрли комментарий
Маълумотлар типлари (MySQL). Маълумотларнинг текст типлари:
Маълумот типи
Таърифи
CHAR(size)
Фиксирланган узунликдаги сатр (ҳарф, рақам ва махсус белгилардан
иборат бўлиши мумкин). Фиксирланган ўлчами қавс ичида кўрсатилади.
255 тагача символ сақлаши мумкин
VARCHAR(size)
Ўзгарвчан узунликдаги сатрдан иборат (ҳарф, рақам ва махсус белгилардан
иборат бўлиши мумкин). Максимал ўлчами қавс ичида кўрсатилади. 255
тагача символ сақлайди. Эслатма: агар 255 дан ортиқ символ сақланаса у
автоматик текстли типга ўзгартирилади
TINYTEXT
Максимал узунлиги 255 тагача символли сатрдан иборат
TEXT
Максимал узунлиги 65 535 тагача символли сатрдан иборат
BLOB
BLOB-объектлар учун (иккилик катта объектлар). 65 535 байтгача маълумот
жойлашади.
21
22.
SQL асосий тушунчалари. Маълумотлар типлариМаълумотларнинг текст типлари: (давоми)
MEDIUMTEXT
Максимал узунлиги 16 777 215 тагача символли сатрдан
MEDIUMBLOB
BLOB-объектлар учун (иккилик катта объектлар).
16 777 215 байтгача маълумот жойлашади.
LONGTEXT
Максимал узунлиги 4 294 967 295 символгача бўлган
сатр
LONGBLOB
BLOB-объектлар учун (иккилик катта объектлар).
4 294 967 295 байтгача маълумот жойлашади
22
23.
SQL асосий тушунчалари. Маълумотлар типлариМаълумот типи
ENUM(a,b,c,...,n)
SET(a,b,c,...,n)
Маълумотларнинг комплекс типлари. MySQL
Ўлчами
Аниқланиши
1-255 элементгача: 1
байт
256-65,535 элементгача:
2 байт
Рўйхат. Рўйхатдаги қийматларининг
максимал миқдори - 65,535. Майдон
рўйхатнинг фақат битта қийматини
қабул қилади. Нотўғри қийматда
майдон бўш қолдирилади.
Майдонга мисол:
Jinsi ENUM(«эркак",«аёл").
1-8 элемент: 1 байт
9-16 элемент: 2 байт
17-24 элемент: 3 байт
25-32 элемент: 4 байт
33-64 элемент: 8 байт
Рўйхат. ENUM га ўхшаш, майдон
рўйхатдаги бир нечта қийматни қабул
қилиши мумкин. Рўйхатдаги
қийматларнинг максимал миқдори 64.
майдонга мисол:
Mevalar
SET(“олма",«нок",«шафтоли").
23
24.
SQL асосий тушунчалари. Маълумотлар типлариМаълумот типи
Маълумотларнинг сонли типи:
Аниқланиши
TINYINT(size)
-128 дан127 гача. Ишорасиз сон бўлса 0 дан 255 гача қиймат. Рақамларнинг
максимал миқдори қавс ичида кўрсатилади.
SMALLINT(size)
-32768 дан 32767 гача. 0 дан 65535 гача ишораси. Рақамларнинг максимал миқдори
қавс ичида кўрсатилади.
MEDIUMINT(size
)
-8388608 дан 8388607 гача. Ишорасиз 0 дан 16777215 гача. Рақамларнинг
максимал миқдори қавс ичида кўрсатилади.
INT(size)
-2147483648 до 2147483647 нормальный. Ишорасиз 0 дан 4294967295 гача
BIGINT(size)
-9223372036854775808 дан 9223372036854775807 гача. Ишорасиз 0 дан
18446744073709551615 гача.
FLOAT(size,d)
Сурилувчан вергулли катта бўлмаган сон. Максимал рақамлар миқдори size
параметрида кўрсатилади. Ўнлик вергулдан кейинги рақамлар сони d параметрида
кўрсатилади.
DOUBLE(size,d)
Сурилувчан вергулли катта сон. Максимал рақамлар миқдори size параметрида
кўрсатилади. Ўнлик вергулдан кейинги рақамлар сони d параметрида кўрсатилади.
DECIMAL(size,d)
Double типидаги иймат, сатр шаклида сақланади ва фиксирланган ўнлик нуқтани
кўрсатиш имкони бор. Максимал рақамлар миқдори size параметрида кўрсатилади.
Ўнлик вергулдан кейинги рақамлар сони d параметрида кўрсатилади.
24
25.
SQL асосий тушунчалари. Маълумотлар типлариМаълумот типи
Сана типидаги маълумотлар:
Аниқланиши
DATE()
Сана. Формат: йййй-оо-СС. Эслатма: диапазони ' 1000-01-01 ' дан '
9999-12-31 ‘ гача
DATETIME()
Сана ва вақт комбинацияси. Формат: YYYY-MM-DD hh:mm:ss.
Эслатма: диапазони ' 1000-01-01 00:00:00 ' дан ' 9999-12-31
23:59:59 ‘ гача
TIMESTAMP()
Вақт белгиси. Вақт белгиси UNIX давридан ('1970-01-01
00:00:00' UTC) кейин ўтган секундлар миқдори шаклида
сақланади. Формат: гггг-ММ-ДД чч: мм: СС. Диапазони
'1970-01-01 00:00: 01' UTC дан' 2038-01-09 03:14:07 ' UTC
гача.
TIME()
Вақт. Формат: HH: MI: SS. Эслатма: диапазони '-838:59:59 ' дан '
838:59:59 ‘ гача
YEAR()
Йил иккита ёки тўртта рақамли формат билан. Эслатма: 4 та
рақамли форматдаги қийматлари: 1901 дан 2155 гача. Иккита
рақамли форматдаги қиймати: 70 дан 69 гача, улар 1970 дан
25
2069гача йилни англатади.
26.
SQL асосий тушунчалари5. Константалар (литераллар)
–
–
–
–
–
Сонли константлар: 21, -345, +234,6547
• Сурилувчан вергулли константалар: 1.5Е3, -3.14159Е1, 2.5Е7
Сатрли константалар: ‘бу символлар сатри’.
Агар сатрли константада қўштирноқ жойлаштириш керак бўлса
унинг ўрнига 2 та қўштирноқ ёзилади:
‘ Бу ерда ‘ ‘якка’ ’ апостроф белгиси мавжуд’.
Сана ва вақт константалари. Санага мисол: ‘2012-10-03’, ‘1993-1210’. Вақтга мисол: ’17:22:10’, ’01:01:01’.
Мантиқий константалар: TRUE, FALSE, UNKNOWN
Мавжудмас маълумот (NULL қиймат)
26
27.
6. Киритилган функциялар. MySQL сатрли функциялариФункция
ASCII
Тавсифи
Символ кодини билдирувчи сон
CHAR_LENGT Сатр узунлигини аниқлаш (символлар)
H
CHARACTER_ Сатр узунлигини аниқлаш (символлар)
LENGTH
Функция
Тавсифи
INSTR
Бир сатрни бошқа сатрда биринчи
жойлашган ўрнини аниқлаш
LCASE
Сатрни пастки регистрга ўтказиш
LEFT
Сатрдан чап қисмидан бошлаб қисм
сатрни қирқиб олиш
CONCAT
2 ёки кшп ифодани бирлаштириш
LENGTH
Сатр узунлигини аниқлаш (байтларда)
CONCAT_WS
2 ёки кўп сатрни бирлаштиради ва улар
орасига ажратувчини жойлаштиради
LOCATE
Возвращает позицию первого
вхождения подстроки в строку
FIELD
Қийматни рўйхатда турган ўрнини
аниқлаш
Сатрлар рўйхатидан қисм сатрни ўрнини
аниқлайди
LOWER
Преобразует строку в нижний регистр
LPAD
Возвращает строку, которая заполнена
с заданной строкой до определенной
длины
Удаление начальных пробелов из
строки
FIND_IN_SET
FORMAT
Сонни кўрсатилган шаклда форматлаш "#, LTRIM
# # #. # #", бунда сон яхлитланади
INSERT
Қисм сатрни кўрсатилган позициядан
бошлаб кўрсатилган узунликдаги
символлар ўрнига жойлаштиради
27
28.
6. Киритилган функциялар. MySQL сатрли функциялариФункция Тавсифи
MID
Ихтиёрий позициядан бошлаб қисм
сатрни сатрдан ўқиб олиш
Функция
Тавсифи
SPACE
Кўрсатилган миқдордаги
пробеллардан иборат сатрни
шакллантириш
Сатрларни солиштириш (0,1,-1
жавоб қайтаради)
Сатрнинг кўрсатилган
позициясидан бошлаб
кўрсатилган узунликдаги сатрни
қирқиб олиш
Сатрдан қисм сатрни ўқиб олиш
(ихтиёрий позициядан бошлаб)
POSITION Қисм сатрни сатрдаги бошланиш
STRCMP
позициясини аниқлаш
REPEAT
Сатрни кўрсатилган миқдорда такрорлаш SUBSTR
REPLACE
Сатрдаги қисм сатрни бошқасига
алмаштириш
SUBSTRING
REVERSE
Сатрни тескари ўзгартиради ва қиймат
сифатида қайтаради
Сатрдан қисм сатрни ўқиб олиш (ўнг
томонидан бошлаб)
SUBSTRING_I Кўрсатилган белгигача қисм
NDEX
сатрни қирқиб олиш
Удаление начальных и конечных
TRIM
пробелов из строки
Сатрни кўрсатилган позициягача
кўрсатилган қим сатр билан тўлдирувчи
ёки қисқартирувчи функция
Сатр боши ва охиридаги пробелларни
қирқиш
UCASE
Преобразует строку в верхний
регистр
UPPER
Преобразует строку в верхний
28
регистр
RIGHT
RPAD
RTRIM
29.
6. Киритилган функциялар. MySQL сонли функциялариФункция
Тавсифи
Функция
Тавсифи
ABS
Соннинг абсолют қиймати
COUNT
SELECT даги ёзувлар миқдорини аниқлаш
ACOS
Соннинг косинус ёйини аниқлаш
DEGREES
Радианни градусга ўгириш
ASIN
Соннинг синус ёйини аниқлаш
DIV
Бутун сонли бўлиш
ATAN
Сонинг тангенс ёйини ёки n ва m ёйининг
тангенсини аниқлаш
EXP
E сони даражасини аниқлаш
ATAN2
n ва m ёйининг тангенсини аниқлаш
FLOOR
Сондан кичик энг катта бутун сонни ёки
тенг бутун сонни қайтаради
AVG
Ифоданинг ўртача қиймати
GREATEST
Ифодалар рўйхатидан энг катта қийматни
қайтариш
CEIL
Сонда катта ёки тенг энг кичик сонни
аниқлаш
LEAST
Ифодалар рўйхатидан энг кичигини
аниқлаш
CEILING
Сонда катта ёки тенг энг кичик сонни
аниқлаш
LN
Сонинг натурал логарифми
COS
Косинус
LOG
Сонинг логарифми
COT
Сонинг котангенси
LOG10
Base-10 сонинг логарифми
29
30.
6. Киритилган функциялар. MySQL сонли функциялари(Давоми)Функция
Тавсифи
Функция
Тавсифи
LOG2
Base-2 сонинг логарифми
RAND
Тасодифий сон ёки кўрсатилган
диапазондаги тасодифий сон
MAX
Ифодадан максимал қийматни аниқлаш
ROUND
Ўнлик разряднинг кўрсатилган
сонигача яхлитлаш
MIN
Ифодадан минимал қийматни аниқлаш
SIGN
Возвращает значение, указывающее
знак числа
MOD
Возвращает остаток n, деленный на m
SIN
Возвращает синус числа
PI
Возвращает значение PI,
отображаемое с 6 десятичными
знаками
SQRT
Возвращает квадратный корень числа
POW
Возвращает m, возведенное в n-ую
мощность
SUM
Возвращает суммированное значение
выражения
POWER
Возвращает m, возведенное в n-ую
мощность
TAN
Возвращает тангенс числа
RADIANS Преобразует значение в градусах в
радианы
TRUNCAT Возвращает число, усеченное до
E
определенного числа десятичных
разрядов
30
31.
6. Киритилган функциялар. MySQL сана ва вақт функциялариФункция
Тавсифи
Функция
Тавсифи
ADDDATE
Маълум вақт/сана интервал қўшилгандан
кейинги санани қайтаради
DATE_FORMAT
Форматлаш масакасига мос форматлаш
ADDTIME
Возвращает время/DateTime после добавления
определенного временного интервала
DATE_SUB
Возвращает дату после вычитания
определенного интервала времени/даты
CURDATE
Возвращает текущую дату
DAY
Возвращает часть дня значения даты
CURRENT_D
ATE
Возвращает текущую дату
DAYNAME
Возвращает имя дня недели для даты
CURRENT_T
IME
Возвращает текущее время
DAYOFMONTH
Возвращает часть дня значения даты
CURRENT_T
IMESTAMP
Возвращает текущую дату и время
DAYOFWEEK
Возвращает индекс дня недели для значения
даты
CURTIME
Возвращает текущее время
DAYOFYEAR
Возвращает день года для значения даты
DATE
Извлекает значение даты из выражения Date или
DateTime
EXTRACT
Извлечение деталей из даты
DATEDIFF
Возвращает разницу в днях между двумя
значениями даты
FROM_DAYS
Возвращает значение даты из числового
представления дня
DATE_ADD
Возвращает дату после добавления
определенного интервала времени/даты
HOUR
Возвращает часовую часть значения даты
31
32.
6.Киритилган функциялар. MySQL сана ва вақт функциялари
Функция
Тавсифи
Функция
Тавсифи
LAST_DAY
Возвращает последний день месяца для
заданной даты
PERIOD_ADD
Занимает период и добавляет указанное
количество месяцев к нему
LOCALTIM
E
Возвращает текущую дату и время
PERIOD_DIFF
Возвращает разницу в месяцах между двумя
периодами
LOCALTIM
ESTAMP
Возвращает текущую дату и время
QUARTER
Возвращает четвертую часть значения даты
MAKEDAT
E
Возвращает дату для определенного
года и дня года значение
SECOND
Возвращает вторую часть значения даты
MAKETIM
E
Возвращает время для определенного
часа, минуты, второй комбинации
SEC_TO_TIME
Преобразует числовые секунды в значение
времени
MICROSEC Возвращает микросекундную часть
OND
значения даты
STR_TO_DATE
Принимает строку и возвращает дату, указанную
маской форматирования
MINUTE
Возвращает минутную часть значения
даты
SUBDATE
Возвращает дату, после которой был вычтен
определенный интервал времени/даты
MONTH
Returns the month portion of a date value
SUBTIME
Возвращает значение времени/DateTime после
вычитания определенного временного интервала
MONTHN
AME
Возвращает полное имя месяца для
даты
SYSDATE
Возвращает текущую дату и время
NOW
Возвращает текущую дату и время
TIME
Извлекает значение времени из выражения
Time/DateTime
32
33.
6.Киритилган функциялар. MySQL сана ва вақт функциялари
Функция
Тавсифи
TIME_FORMAT
Форматирует время, указанное в маске форматирования
TIME_TO_SEC
Преобразует значение времени в числовые секунды
TIMEDIFF
Возвращает разницу между двумя значениями времени/DateTime
TIMESTAMP
Преобразует выражение в значение DateTime и при указании
добавляет дополнительный временной интервал к значению
TO_DAYS
Преобразует дату в числовые дни
WEEK
Возвращает часть недели значения даты
WEEKDAY
Возвращает индекс дня недели для значения даты
WEEKOFYEAR
Возвращает неделю года для значения даты
YEAR
Возвращает часть года значения даты
YEARWEEK
Возвращает год и неделю для значения даты
33
34.
6.Киритилган функциялар. MySQL кенгайтирилганфункциялари
Функция
Тавсифи
Функция
Тавсифи
BIN
Сонни 10 ликдан 2 ликка ўтказиш
IF
Агар шарт true бшлса бирор қиймат, false бошқа
қиймат қайтаради
BINARY
Қийматни иккилик сатрга ўзгартиради
IFNULL
Агар ифода null қийматли бўлса алтернатив қиймат
қайтариш имкониятини беради
CASE
Шартни баҳолаш ва қиймат қайтариш
ISNULL
Ифодани null га текшириш
CAST
Типни ўзгартириш
LAST_INSER
T_ID
INSERT ёки Update ёрдамида охирги қайта
ишланган ауто_инкремент қийматни аниқлаш
COALESCE
Рўйхатда null бўлмаган биринчи қйматни
аниқлаш
NULLIF
Иккита ифодани солиштириш
CONNECTIO
N_ID
Жорий уланиш идентификаторини аниқлаш
SESSION_US
ER
MySQL нинг жорий фойдаланувчи номи ва хост
номини аниқлаш
CONV
Бир саноқ тизимидан бошқасига ўтказиш
SYSTEM_US
ER
MySQL нинг жорий фойдаланувчи номи ва хост
номини аниқлаш
CONVERT
Преобразует значение из одного типа данных в
другой или один набор символов в другой
USER
Возвращает имя пользователя и имя хоста для
текущего пользователя MySQL
CURRENT_U
SER
Возвращает имя пользователя и имя хоста для
учетной записи MySQL, используемой сервером
для проверки подлинности текущего клиента
VERSION
Возвращает версию базы данных MySQL
DATABASE
Возвращает имя базы данных по умолчанию
34
35.
Оддий сўровларSELECT оператори – SQL нинг энг кўп
илатиладиган операторларидан бири. МБ
дан маълумотларни ўқиб олади ва
олинган натижани керакли кўринишга
ўтказади.
36.
SELECT оператори синтаксисиSELECT оператори синтаксиси
SELECT [ALL | DISTINCT] танланадиган_устун_номлари_рўйхати
FROM жадвал_номлари_рўйхати
[WHERE излаш_шарти]
[GROUP BY устун_номлари_рўйхати]
[HAVING излаш_шарти]
[ORDER BY устун_номи [ASC | DESC],…]
Эслатма: квадрат қавсларда SELECT операторида тушириб
қолдириш мумкин бўлган ифодалар кўрсатилган.
36
37.
Маълумотларни ўқиш сўровлари. SELECTоператори
МБ схемаси (мисоллар учун)
37
38.
Маълумотларни ўқиш сўровлари. SELECTоператори
1. Select сўров мақсади. SELECT сўзи:
SELECT сўзидан кейин вергул (,) билан ажратилган холда
танланадиган устунлар номи кўрсатилади.
1.1 Танланадиган устунлар номини кўрсатиш усуллари
–
FROM сўзидан кеийн кўрсатилган жадвалдаги маълум
устунлар қийматларини танлаб олиш ва кўрсатиш
Мисол. Студентлар рўйхатини ва стипендия миқдорини ўқиш.
SELECT stName, stStipend
FROM Students;
38
39.
Маълумотларни ўқиш сўровлари. SELECTоператори
–
FROM да кўрсатилган жадвалнинг барча устунларини ўқиб
олиш учун устунларнинг барчасини номини кўрсатиш ёки
“юлдузча” (*) белгисини кўрсатиш етарли
Мисол. Groups жадвалининг барча устунларини ўқиш.
SELECT grNum, grName, grCntStud
FROM Groups;
ёки
SELECT *
FROM Groups;
39
40.
Маълумотларни ўқиш сўровлари. SELECTоператори
–
Устун номларини аниқ кўрсатиш учун жадвал номи ҳам
кўрсатилиши мумкин: жадвал_номи.устун_номи.
Мисол:
SELECT Groups.grNum, Groups.grName, Groups.grCntStud
FROM Groups ;
40
41.
Маълумотларни ўқиш сўровлари. SELECTоператори
1.2 Такрорланувчи сатрларни истисно этиш
Натижавий жадвалдан такрорланувчи сатрларни истисно
қилиш учун устун номларидан олдин DISTINCT сўзи
жойлаштирилади.
Мисол. Teachers жадвалининг
tPosition устуни қийматларини
чиқариш.
SELECT tPosition
FROM Teachers;
Мисол. Teachers жадвалининг
tPosition устуни уникал қийматларини
чиқариш.
.
SELECT DISTINCT tPosition
FROM Teachers;
41
42.
Маълумотларни ўқиш сўровлари. SELECTоператори
1.3 Хисобланувчи ифодалани қўллаш
Мисол. Талабалар фамилияси, уларни стипендияси ва
стипендиясини $ да хисоблаб чиқариш
SELECT stName, stStipend, stStipend / 9850
FROM Students ;
42
43.
Маълумотларни ўқиш сўровлари. SELECTоператори
1.4 Натижавий устунлар номини қайта аниқлаш
натижавий устун номини қайта аниқлаш (синонимини яратиш(
учун AS калит сўзи ишлатилади.
43
44.
Маълумотларни ўқиш сўровлари. SELECTоператори
1.5 сўров натижасига матн киритиш
SELECT ифодасида устун номи ва ифода киритиш билан бирга
константаларни киритиш мумкин.
Мисол.
Талабалар фамилияси ва улар стипендия миқдорини
расмийлаштирилган матн холида кўрсатиш.
SELECT ‘Студент’, stName, ‘оладиган стипендия миқдори’, stStipend
FROM Students ;
44
45.
Маълумотларни ўқиш сўровлари. SELECTоператори FROM ифодаси
2. Ўқиладиган жадваллар. FROM ифодаси
FROM сўзида бир-биридан вергуллар (,) билан ажратилган
жадваллар номлари кўрсатилади.
Масалан, FROM Students, Groups.
Жадваллар номларини синонимлари (тахаллуси) ни кўрсатиш
мумкин.
Масалан, FROM Students as st, Groups as gr
45
46.
Маълумотларни ўқиш сўровлари. SELECTоператори. WHERE ифодаси
3. Сарларни танлаш. WHERE ифодаси
WHERE ифодаси WHERE сўзи ва ундан кейин жойлашадиган
қайси сатрларни танлаш кераклигини аниқловчи излаш
шартидан иборат бўлади.
Агар бирор сатр учун излаш шарти TRUE қиймат қабул қилса
сатр сўров натижасига киритилади..
Агар излаш шарти FALSE қиймат қилса сатр сўров натижасига
киритилмайди.
46
47.
Маълумотларни ўқиш сўровлари. SELECTоператори. WHERE ифодаси
3.1 Сатрларни танлаш шарти
Солиштириш
Ифода1 =|<>|<|>|<=|>= Ифода2
47
48.
Маълумотларни ўқиш сўровлари. SELECTоператори. WHERE ифодаси
Қийматлар диапазонига тегишлилигини текшириш
(BETWEEN)
текшириладиган_ифода [NOT] BETWEEN минимум AND максимум
Мисол. 650 ва 1100 оралиғида стипендия оладиган талабаларни рўйхатини
танлаш.
SELECT stName, stStipend
FROM Students
WHERE stStipend BETWEEN 650 AND 1100;
48
49.
Маълумотларни ўқиш сўровлари. SELECTоператори. WHERE ифодаси
Тўпламга тегишлилигини текшириш (IN)
текшириладиган_ифода [NOT] IN (константалар_кетма-кетлиги)
Мисол. 650, 730, ва 900 миқдорда стипендия оладиган талабаларни
рўйхатини танлаш.
SELECT stName, stStipend
FROM Students
WHERE stStipend IN (650, 730, 900);
49
50.
Маълумотларни ўқиш сўровлари. SELECTоператори. WHERE ифодаси
Шаблонга мослигини текшириш (LIKE)
устун_номи [NOT] LIKE шаблон [ESCAPE тушуриб_қолдириш_символи],
Бу ерда
шаблон – бу сатр бўлиб, унга бир ёки бир нечта махсус шаблон
белгилари кириши мумкин.
шаблон белгилари:
% – ихтиёрий сатр
Мисол. Фамилияси «Соби» билан бошланувчи талабалар хақида
маълумот олиш.
SELECT *
FROM Students
WHERE stName LIKE ‘Соби%’;
50
51.
Маълумотларни ўқиш сўровлари. SELECTоператори. WHERE ифодаси
_ (ост чизиқ) – ихтиёрий алоҳида символга мос келади.
Масалан. Исмлари «Собир» ва «Собур» бўлган талабалар ҳақида
маълумот ўқиш.
SELECT *
FROM Students
WHERE stName LIKE ‘%Соб_р’;
51
52.
Маълумотларни ўқиш сўровлари. SELECTоператори. WHERE ифодаси
тушуриб_қолдириш_символи символлар сатрида шаблон
белгиларининг (%, _) ўзини борлигини текшириш учун
ишлатилади.
Мисол. «Data» жадвалидан Result майдонида “кичик 50%” текст
борлигини текшириш .
SELECT *
FROM Data
WHERE Result LIKE ‘%кичик 50$% %’ ESCAPE $;
52
53.
Маълумотларни ўқиш сўровлари. SELECTоператори. WHERE ифодаси
NULL қийматига тенглигини текшириш (IS NULL)
устун_номи IS [NOT] NULL
Мисол. Стипендия олувчии талабаларни танлаш.
SELECT stName, stNum, stStipend
FROM Students
WHERE stStipend IS NOT NULL;
53
54.
Маълумотларни ўқиш сўровлари. SELECTоператори. WHERE ифодаси
Излашнинг мураккаб шарти (AND, OR и NOT)
WHERE [NOT] излаш_шарти [AND|OR] [NOT] излаш_ўарти …
Мисол. Гурух номери 1 бўлган ва стипендия оладиган талабаларни
танлаш.
SELECT *
FROM Students
WHERE (grNum = 1) AND (stStipend IS NOT NULL);
54
55.
Запросы с многими таблицами1.
Естественное соединение таблиц
Объединенную таблицу образуют пары тех строк из различных
таблиц, у которых в связанных столбцах содержатся
одинаковые значения.
Пример 1. Получить список студентов и названия их групп.
SELECT stName, grName
FROM Students, Groups
WHERE (Students.grNum = Groups.grNum);
Cвязанные столбцы представляют собой пару «внешний ключ –
первичный ключ».
55
56.
Запросы с многими таблицами2.
Запросы с самообъединением таблиц
В SQL для объединения таблицы с самой собой
(самообъединение таблиц) применяется подход, состоящий в
использовании "виртуальной копии" таблицы, на которою
можно сослаться, используя псевдоним таблицы.
Пример 1. Вывести список всех преподавателей и их руководителей.
SELECT Teachers.tName, Chiefs.tName
FROM Teachers, Teachers Chiefs
WHERE Teachers.tChiefNum = Chiefs.tNum;
56
57.
Запросы с многими таблицамиСоединение таблиц может осуществляться и по условиям,
отличным от равенства:
SELECT атр1, атр2,…,атрN FROM t1, t2
WHERE t1.a Θ t2.b
здесь Θ любой оператор сравнения: >, >=, <, <=, <>
Пример 2. Получить названия пар предметов, имеющих
одинаковое количество учебных часов.
SELECT а.subjName, b.subjName
FROM Subjects a, Subjects b
WHERE а.subjHours = b.subjHours AND
а.subjName <> b.subjName;
57
58.
Агрегат функцияларАгрегат функция аргумент сифатида бирор устунни барча
қийматларини қабул қилади ва устун умумлаштирувчи битта қиймат
қайтаради.
SUM(ифода | [DISTINCT] устун_номи) – сонли [турли] қийматларнинг
суммаси.
AVG(ифода | [DISTINCT] устун_номи) – сонли [турли] қийматларнинг
ўртача қиймати
MIN(ифода | устун_номи) – барча қийматларнинг энг кичиги
MAX(ифода | устун_номи) – барча қийматларнинг энг каттаси
COUNT([DISTINCT] устун_номи) – устундаги қийматлар сонини
аниқлайди
COUNT(*) – подсчитывает количество строк в таблице результатов
запроса
Эслатма: агрегат функцияларни WHERE ифодасида бевосита ишлатиш
мумкин эмас
58
59.
Агрегат функцияларМисол 1. Талабаларнинг стипендиясини суммасини, ўртачасини,
минималини ва максималини топиш.
SELECT SUM(stStipend) AS Sm, AVG(stStipend) AS Av,
MIN(stStipend) AS Mn, МАХ(stStipend) AS Mx
FROM Students
Мисол 2. Стипендия оладиган талабалар сонини аниқлаш.
SELECT COUNT(*) AS Stipendiya_oladigan
FROM Students
WHERE stStipend > 0
59
60.
Сўров натижаларини саралаш. ORDER BYсўзи
ORDER BY устун_номи [ASC | DESC], …
бу ерда , ASC – саралашнинг ўсувчи, DESC – камайювчи
тартибини билдиради.
Мисол. 941-18 гурухида ўқийдиган талабалар рўйхатини алфавитга
тескари тартибда чиқариш.
SELECT stName
FROM Students, Groups
WHERE Students.stNum = Groups.grNum AND
Groups.grName = ‘941-18’
ORDER BY stName DESC
60
61.
Гурухли сўровлар.GROUP BY сўзи
GROUP BY ибораси сатрни бир хил қийматлари асосида
гурухга бирлаштиришга имкон яратади:
grName
КИ-121
ПИ-111 =
КИ-101
КИ-121
ORDER BY grName
КИ-101
КИ-121
КИ-121
ПИ-111
=
GROUP BY grName
КИ-101
КИ-121
ПИ-111
GROUP BY қўлланилиб олинган гурухларга нисбатан ихтиёрий
агрегат функцияни қўллаш мумкин.
61
62.
Гурухли сўровлар.GROUP BY сўзи
Мисол 1. Талабалар рўйхатин ва уларнинг ўртача бахосини ўқиш.
SELECT stName, AVG(mark) AS AvgMark
FROM Students, Marks
WHERE Students.stNum = Marks.stNum
GROUP BY stName
Эслатма. В списке отбираемых полей оператора SELECT,
содержащего раздел GROUP BY, можно включать только
агрегатные функции и поля, которые входят в условие
группировки.
62
63.
Гурухли сўровлар.GROUP BY сўзи
Бир қанча устунларни гурухлаш
Мисол. Талабалар рўйхатини ва алохида семестрлар учун ўртача балини
олиш.
SELECT stName, semestr, AVG(mark) AS AvgMark
FROM Students, Marks
WHERE Students.stNum = Marks.stNum
GROUP BY stName, semestr
Гурухланувчи устундаги NULL қийматлари
Строки, имеющие значение NULL в одинаковых столбцах
группировки и идентичные значения во всех остальных
столбцах группировки, помещаются в одну группу.
63
64.
Гурухли сўровлар.GROUP BY сўзи
Гурухларни излаш шарти. HAVING сўзи
GROUP BY билан биргаликда ишлатиладиган HAVING сўзи
гурухга шартни қаноатлантирмайдиган гурухларни
киритилмаслигини таъминлайди (худди WHERE сатрларни
истисно қилгани каби).
Пример 1. КИ мутаххассислигидаги талабалар сони 15 дан кам
талабали гурухлар рўйхатини ўқиш.
SELECT grName, COUNT(*) AS CntStudents
FROM Students, Groups
WHERE Students.gtNum = Groups.grNum AND
Groups.grName LIKE ‘КИ%’
GROUP BY grName
HAVING COUNT(*) < 15
64
65.
Ичма ич сўровларИчма ич сўровлар (қисм сўров) деб WHERE ёки HAVING сўзида
бошқа SQL оператор қатнашган сўровга айтилади.
Мисол1. баҳо <4 бахо олинган предметлар рўйхатини олиш.
SELECT subjName
FROM Subjects
WHERE subjNum IN ( SELECT subjNum
FROM Marks
WHERE mark < 4)
65
66.
Ичма ич сўровларКоррелацияловчи қисм сўров деб ташқи сўровдаги
жадвалнинг устунларига кўрсатгич бўлган сўровларга
айтилади.
Мисол2. ўртача бали 4,5 дан катта бўлган талабалар
рўйхатини тасвирлаш.
SELECT stName
FROM Students
WHERE (SELECT AVG(mark)
FROM Marks
WHERE Marks.stNum = Students.stNum) > 4.5
66
67.
Ичма ич сўровларИчма ич сўровларнинг хусусиятлари:
Ичма ич сўровлар юмалоқ қавс ичига олинади;
Ичма ич сўровлар натижаси доимо битта устундан иборат
бўлади;
Ичма ич сўровга ORDER BY сўзи киритилмайди.
67
68.
Мавжудлилик квантори EXISTSSQL да мавжудлик квантори қуйидагича кўринишга эга:
[NOT] EXISTS (SELECT…FROM…WHERE…),
ва WHERE сўзидан кейин жойлашади. Бундай ифода рост
бўлади агар сўров бўш бўлмаган натижа қайтарса. Амалда
бундай қисм сўров доимо коррелацияловчи бўлади.
Мисол. Камида битта фандан имтихон топширган (бахоланган) талабалар
рўйхатини ўқиш.
SELECT stName FROM Students
WHERE EXISTS ( SELECT * FROM Marks
WHERE Marks.stNum = Students.stNum);
68
69.
Каррали (кўп сонли) солиштириш ANY иALL
Каррали солиштириш синтаксиси
Текшириладиган_ифода = | <> | < | <= | > | >=
ANY | ALL ичма-ич_сўров
69
70.
SQL илида ALL умумийлик кванториМисол. КИ-121 гурухида ихтиёрий талабадан кўп стипендия олган
талабалар рўйхатини олиш.
SELECT *
FROM Students
WHERE stStipend > ALL (SELECT stStipend
FROM Students, Groups
WHERE Students.grNum = Groups.grNum
AND Groups.grName = ‘КИ-121’);
70
71.
SQL тилида ANY (SOME) кванториМисол. Университетдаги студентлар ичидан туғилган куни ЛИ121 гурухида камида битта студент билан мос келадиган
студентларни аниқлаш
SELECT *
FROM Students, Groups
WHERE stBrthDate = ANY (SELECT stBrthDate
FROM Students, Groups
WHERE Students.grNum = Groups.grNum
AND Groups.grName = ‘КИ-121’)
AND Students.grNum = Groups.grNum
AND Groups.grName <> ‘КИ-121’;
71
72.
Жадвалларни ички туташириш (INNER JOIN)INNER JOIN
Мисол. Студентлар рўйхатини улар тегишли гурухибилан тасвирлаш.
SELECT stName, grName
FROM Students INNER JOIN Groups
ON Students.grNum = Groups.grNum;
72
73.
Жадвалларни ички туташириш (INNER JOIN)Агар жадвалларни бир номли устунлари қийматларини
тенглиги бўйича улаш керак бўлса ON сўзи ўрнига USING
ишлатилади.
Мисол.
SELECT stName, grName
FROM Students INNER JOIN Groups
USING (grNum);
73
74.
Жадвалларни ташқи туташириш (OUTER JOIN)SQL-92 да 2 типни ташқи туташтириш тушунчаси мавжуд :
Чап томонли (LEFT OUTER JOIN, *=);
Ўнг томонли (RIGHT OUTER JOIN, =*).
74
75.
Жадвалларни ташқи туташириш (OUTERJOIN)
LEFT OUTER JOIN
Table A
Table B
75
76.
Жадвалларни ташқи туташириш(OUTERJOIN)
Students
stNum
stName
grNum
1
Собиров
1
2
Ваисов
1
3
Камолов
Groups
grNum
grName
1
КИ-121
2
ПИ-111
SELECT Students.stName, Groups.grName
FROM Students LEFT OUTER JOIN Groups ON Students.grNum =
Groups.grNum
Результат:
stName
grName
Собиров
КИ-121
Ваисов
КИ-121
Камолов
76
77.
Жадвалларни ташқи туташириш (OUTERJOIN)
RIGHT OUTER JOIN
Table A
Table B
77
78.
Жадвалларни ташқи туташириш (OUTERJOIN)
Students
stNum
stName
grNum
1
Собиров
1
2
Ваисов
1
3
Камолов
Groups
grNum
grName
1
КИ-121
2
ПИ-111
SELECT Students.stName, Groups.grName
FROM Students RIGHT OUTER JOIN Groups ON Students.grNum =
Groups.grNum
Результат:
stName
grName
Собиров
КИ-121
Ваисов
КИ-121
ПИ-111
78
79.
SELECT INTO ифодасиSQL-сўров натижасини сақлаш учун янги жадвалдан
фойдаланиш мумкин. Бу операция синтаксиси қуйидагича
кўринишга эга:
SELECT … INTO <янги жадвал номи>
FROM …
[WHERE…]
Мисол:
SELECT * INTO StudentsBackup
FROM Students
79
80.
Назорат саволлари1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SQL тарихи. SQL тили стандартлари.
SQL тили вазифаси. SQL тили таркибий қисмлари (операторлар гурухи).
SQL тили диалектлари. Маълумотлар базаси билан ишлаш режимлари данных.
SQL тили операторларининг гурухлари
SQL тили маълумотларни аниқлаш операторлари DDL
SQL тили маълумотларни манипулиациялаш операторлари ( DML)
SQL тили маълумотларниҳимоялаш ва бошқариш операторлари (DCL)
SQL тилининг транзакцияларни бошқариш операторлари (TCL)
SQL тилида маълумотлар типлари (MySQL)
Киритилган функциялар. MySQL сатрлар билан ишлаш функциялари.
Киритилган функциялар. Сонлар билан ишлаш функциялари (MySQL).
Киритилган функциялар. Сана ва вақт била ишлаш функциялари (MySQL).
Киритилган функциялар. MySQL кенгайтирилган функциялари.
SELECT оператори форматини тушунтиринг.
Маълумотларни танлаш сўровлари. Оператор SELECT.
Оператор SELECT: FROM ва WHERE ифодаси. (Сатрларни танлаш шартини шакллантириш:
солиштириш амаллари, BETWEEN, IN, шаблонга текшириш (LIKE) ва б.)
SELECT операторида агрегат функцияларини қўллаш.
SELECT натижасини тартиблаш ва гурухлаб танлаш: ORDER BY ва GROUP BY ифодаси.
Ичма-ич SELECT сўровлари.
Жадвалларни ички ва ташқи улаш (INNER JOIN ва OUTER JOIN).