Идентификаторлар және өрнектер




Презентация қосу
Дәріс 4. TSQL
мәліметтерімен жұмыс істеу
негіздері.  
Жоспар

1. Идентификаторлар және өрнектер 
2. Басқаратын конструкциялар
3. SELECT, INSERT, UPDATE, DELETE 
инструкциялар
4. SQL предикаттары және үштік қисын 
5. Тұрақтылар, функциялар және өрнектер 
6. Агрегаттық функциялар
1. Идентификаторлар және өрнектер
SQL Server-мен жұмысы үшін  Transact-SQL деп аталатын SQL 
тілінің диалекті қолданылады. SQL алғашқы тілімен 
салыстырғанда Transact-SQL-да қосымша кілттік сөздер 
енгізілген. 
Негізгі операторлар INSERT, DELETE, UPDATE, SELECT және 
басқа операторларда SQL тілінің синтаксисі қолданылады. 
Transact-SQL қосымша мүмкіндіктері ақпараттың көлемін 
басқарауына байланысты.
 SQL Server барлық объектілерінде өз атаулары бар. Уақытша 
объектілерді белгілеу үшін арнайы символдар қолданылады: @ 
- уақытша айнымалылар немесе параметрлер, # - уақытша кесте 
не сақталатын процедура. Уақытша объектілер бір сеанс не 
транзакция уақытында бар болып, содан кейін өшіріледі. 
Аумақты айнымалыларды белгілеу үшін келесі символдар 
қолданылады: @@[атауы], ##[атауы]. Шектеулерді шектеу үшін 
объект атауын квадрат жақшаларына не тырнақшаға алады.  
Өрнектер функция, амалдар, тұрақталыр
идентификаторларының жинағы ретінде көрсетіледі. Өрнек 
сақталатын процедураның командаларында аргумент 
ретінде қолданылады. Келесі операторлар SQL Server-де 
анықталады:
Унарлық +,-
Меншіктеу =
Арифметикалық +,-,*,/,%
Жолдық +
Салыстыру <,>,=,<=,>=,<>,!=,!<,!>
Қисын  ALL, AND, ANY, BEETWEN, EXISTS, IN, 
LIKE, NOT, OR, SOME
Биттік &,|,^
Қисын операторлар сұратуларды жазғанда не мәліметтерді өзгерту 
командаларында қолданылады.
ALL – скалярлық өрнектің барлық ішкі сұраныстың қайтаратын 
мәндерімен салыстыруы орындалады. Егер қисын шарты орындалса, 
сонда ғана барлық шарттар орындалды деп айтуға болады.
• Синтаксисі:
• <өрнек>{=,<>,!=,>,>=,!<,<=,!<} ALL (<ішкі сұраныс>)
• ANY – ішкі сұраныстың қайтаратын мәндерінің әрқайсысымен
скалярлық өрнектің салыстыруын орындайды. Және ақиқатты
қайтарады, егер ішкі сұраныстың мәндерінің бірі жұмыс істесе.
• Синтаксисі: 
• < өрнек >{=,<>,!=,>,>=,!<,<=,!<} ANY (<ішкі сұраныс >)
• BEETWEN – оператор ақиқат мәнін қайтарады, егер өрнек мәні
анықталатын диапазонына кірсе. Егер NOT қисын операторы а қи қатты
қайтарады егер мән диапазонға кірмесе.
• Синтаксисі:
• < өрнек > [NOT] BEETWEN <жоғарғы табалдырық> AND <төмеңгі 
табалдырық >
• IN – оператор ақиқатты қайтарады, егер ішкі сұраныстың қайтаратын
мәндерімен өрнек мәндері сәйкес келсе. Мәндер тізімі үтір ар қылы
саналады. Оператордың жалпы форматы:
• < өрнек > [NOT] IN (<ішкі сұраныс > | <мәндер тізімі>)
• EXISTS – бар болу операторы ақиқатты қайтарады, егер ішкі сұраныс бір
жолды қайтарса, ал ішкі сұраныстың нәтижесі бос болса, онда жалған
мәні қайтарылады.
2. Басқаратын конструкциялар
1) BEGIN … END – бір блокқа екі не одан көп командаларды топтау амалын
жүргізеді. transact SQL кейбір командалары басқа командалармен
орныдалмайды, сондықтан олар берілген конструкция ға кірмейді.
2) If <қисын өрнек >
<команда 1>
[ Else
<команда 2>]
IF кілттік сөзден кейін шарт болады. Есептеу нәтижесі ақи қат, жал ған,
не белгіссіз болу мүмкін. Егер жалған не белгіссіз болса, онда ELSE кілттік
сөзден кейін болатын инструкция орындалады.
3) CASE … END – жиын таралымы, басқа өрнектерде айнымалы ретінде
қолданылатын функция болады.
4) COALESCE – мәндер тізімінен нөлдік емес бірінші мәнді қайтарады.
COALSCE (<мәндер тізімі >)
5) WHILE циклінің инструкциясы
WHILE <шарт>
< цикл денесі>
3. SELECT, INSERT, UPDATE, DELETE инструкциялар

SQL SELECT инструкциясы бір не бірнеше кестелерден
жолдарды шығарады. SELECT инструкциясында қажет
мәліметтермен бағандар тізіміні береді. Сонымен қатар, бұл
инструкцияда сізге қажет мәліметтерді топтау не
сұрыптау амалдарын белгілеуге болады. Мынадай түрде
SELECT инструкциясының базалық құрылымы болады:
SELECT                            бағандар_тізімі 
     FROM                            кесте_тізімі
          WHERE                            таңдау _шарты 
             GROUP BY              топтау _үшін_бағандар
                HAVING                            таңдау _шарты               
                   ORDER BY              сұрыптау _үшін_бағандар
              Ал, мына түрі SELECT инструкциясының қарапайым түрін
көрсетеді:
              SELECT * FROM Table1
• SELECT сөзінен кейін келетін (*) жұлдызша символы 
«барлық бағандар» дегенді білдіреді. 
• FROM сөйлемінде бір кесте не көрініс беріледі. Берілген 
мысалда кесте Table1.
• Кестеден қайталанатын жолдарды шектеу үшін SELECT 
инструкциясына WHERE сөйлемін қосу керек.
• WHERE сөйлеміндегі таңдау шарты бірнеше 
предикаттардан тұру мүмкін. Бұл предикаттар AND және 
OR операторлармен біріккен. Болдырмау шарты NOT 
қисын операторы арқылы беріледі. 
• ORDER BY сөйлемі қортынды кестені SELECT 
инструкциясы арқылы сұрыптау үшін қолданылады.
INSERT инструкциясы кестеге жаңа жолды қосу үшін
қолданылады
Мынадай т .
үрде INSERT инструкциясыны ң базалық құрылымы болады:
INSERT INTO кесте_атауы 
  (бағандар_тізімі)
VALUES (бағандар _мәндер_ тізімі)
Кесте атуынан кейін INSERT инструкциясында жақшаға алынған бағандар 
тізімі, содан кейін осы бағандардың мәндер тізімі бар VALUES сөйлемі 
кездеседі. 
INSERT инструкциясында екі тізімде қатаң бір-біріне сәйкес болу керек, 
яғни мәндер бағандар тізіміне сәйкес белгіленуі керек. Бағандар тізімін 
белгілемеуге де болады, ол үшін кестенің барлық баған мәндері берілуі 
керек. 
INSERT инструкциясында жүйе анықта алмайтын мәдердің барлық 
бағандары берілу керек. IDENTITY атрибутымен бағанды анықтауға қажет 
емес, себебі мәні үнсіз келісім бойынша беріледі. Егер қалып қойған ба ған 
үшін мәні үнсіз келісім бойынша берілсе, онда осы бағанға ол да жүктеледі. 
IDENTITY және rowversion бағандарына автоматты түрде сәйкес 
идентификаторлар меншіктеледі, ал қалған бағандарға NULL мәні беріледі. 
Бұдан басқа, INSERT инструкциясында DEFAULT кілттік сөзі жалғасады, 
себебі оған үнсіз келісім мәні не NULL меншіктеледі. 
UPDATE инструкциясы кестедегі бар жолдарды
жаңарту үшін қызмет етеді
• UPDATE инструкциясының базалық құрылымы келесі түрде болады:
• UPDATE           кесте _атауы 
•   SET          меншіктеу_амалы 
• WHERE          таңдау _шарты 
• SET кілттік сөзінен кейін осындай синтаксиспен бір не бірнеше амалдар 
беріледі: 
• баған _атауы = өрнек 
• WHERE сөйлемінде жаңартылатын кесте жолдарын таңдау шарты 
беріледі. Егер WHERE сөйлемі берілмесе, онда кестенің барлық жолдары 
жаңартылады. 
• Кестеден жолды өшіру үшін DELETE инструкциясы беріледі:
• DELETE FROM           кесте _атауы 
•  WHERE                     таңдау _шарты
• Кездейсоқ жағдайда кестеде барлық жолдарды өшіріп тастауға болады - 
WHERE сөйлемсіз DELETE инструкциясын жүктесе. Бірақ кестенің өзі 
базада қалады. 
4. SQL предикаттары және үштік қисын

• SQL предикаты – бұл қарапайым қисын өрнек, оның мәні 
ақиқат, жалған не белгіссіз болу мүмкін. Жалпы алғанда, 
нәтижесі келесі типке және ANSI стандартына сәйкес 
• өрнек1 = өрнек2
• егер, өрнек1, өрнек2 не екеуіде NULL тең болса. Бұл ереже 
салыстыру операторына қарамайды, ол өрнекте тең, тең 
емес, үлкен, кіші не т.б.
•           Предикатты болдырмау NOT операторы және екі 
предикаттарды біріктіру AND не OR операторлары жай емес 
екілік қисынды қолданады, ал үштік қисынның қызмет ету 
сызбасы кесте 2 берілген.
Кесте 2 – Предикаттар үшін үштік
қисында қолдану
p q NOT p p AND q p OR q
TRUE TRUE FALSE TRUE TRUE

TRUE FALSE FALSE FALSE TRUE

TRUE Белгіссіз  FALSE Белгіссіз  TRUE

FALSE TRUE TRUE FALSE TRUE

FALSE FALSE TRUE FALSE FALSE

FALSE Белгіссіз  TRUE FALSE Белгіссіз 

Белгіссіз  TRUE Белгіссіз  Белгіссіз  TRUE

Белгіссіз  FALSE Белгіссіз  FALSE Белгіссіз 

Белгіссіз  Белгіссіз  Белгіссіз  Белгіссіз  Белгіссіз 

TRUE TRUE FALSE TRUE TRUE
5. Тұрақтылар, функциялар және өрнектер

• SELECT кілттік сөзінен кейін кездесетін қайтарылатын м әндер
тізімінде бағандар атауларынан басқа, тұрақтылар, функциялар
және өрнектер болады.
• Сандық мәліметтер үшін SQL төрт стандартты арифметикалық
амалдарды (+, -, * және /) қайтарады, сонымен қатар, модуль бойынша
бөлу не бүтін сандық бөлуден қалдық алу (%). 
• Transact SQL (+) операторы екі символдық жолды біріктіру үшін
қолданылады.
• SQL скалярлық функциялардың реті анықталған. Скалярлық функция
литерал, баған не өрнек атауы болу мүмкін аргументтерді
қабылдайды. Егер фукнцияда баған атауы берілсе, онда ол
қалыптасқан кестедегі әр жолдың баған мәнінде қолданылады.
• Үшінші кестеде SQL Server қамтамасыз ететін негізгі скалярлық
функциялардың тізімі беріледі:
Кесте 3 – SQL Server-мен қамтамасыз етілетін функциялар
Типті  Жолдармен жұмыс істеу Математикалық Күн мерзіммен және Қолданушы мен
алмастыру  үшін қажет функциялар функциялар уақытпен жұмыс рөлдермен жұмыс
функ-ы  істеу фу-ы істеу функциялары
CAST   ASCII (жол) ABS (өрнек) DATEADD CURRENT_USER
CONVERT CHAR (ASCII-код) ACOS (өрнек) DATEDIFF IS_MEMBER (рөл)
STR CHARINDEX (ішкі жол) ASIN (өрнек) DATENAME IS_SRVROLEMEMB
DIFFERENCE (жол1, жол2) ATAN (өрнек) DATEPART SUSER_SID

LEFT (жол, ұзындық) ATN2(өрнек1,2) DAY (datetime) SUSER_NAME

LEN (жол) CEILING (өрнек) GETDATE () SYSTEM_USER

LOWER (жол) COS (өрнек) GETUTCDATE () USER_ID 

LTRIM (жол) COT (өрнек) ISDATE (өрнек) USER_NAME

NCHAR (код-Unicode) DEGREES  MONTH (datetime) CURRENT_USER
(өрнек)
PATINDEX (шаблон,жол) EXP (өрнек) YEAR (datetime) IS_MEMBER (рөл)

QUOTENAME (жол, шектеу) FLOOR (өрнек) DATEADD ( IS_SRVROLEMEM ER

REPLACE (жол, ішкі жол) LOG (өрнек) DATEDIFF SUSER_SID

REPLICATE (жол, n) LOG10 (өрнек) DATENAME SUSER_NAME

REVERSE (жол) т.б. с.с. PI () т.б. с.с. DATEPART SYSTEM_USER
6. Агрегаттық функциялар

• Скалярлық функциялар кестенің бір 
жолынан не кестелер біріктірулерінен 
мәндерді өңдейді. SQL функциялардың 
басқа бір типі жолдар жинағының баған 
мәндерін есептеу негізінде 
құрастырылған. Мұндай функциялар 
агрегаттық (статикалық) функциялар
не баған функциялары деп аталады. 
• 4 кестеде барлық агрегаттық 
функциялардың тізімі берілген.
Кесте 4 – SQL Server агрегаттық функциялары
Агрегаттық функциялар Сипаттамасы
AVG (өрнек) Өрнектің бос емес мәндердің жинағының орта мәні.

CHECKSUM_AGG (өрнек) Өрнектің бос емес мәндердің бақылау қосындысы.

COUNT (*); COUNT (өрнек) COUNT  (*)  берілген  жолдар  жинағында  жолдар  санын  қайтарады. 
COUNT (DISTINCT өрнек) COUNT кілттік сөзі қолданылғанда, DISTINCT кілттік сөзі
COUNT_BIG (*);COUNT_BIG (өрнек) COUNT_BIG функциясы COUNT функциясы ұқсас.
COUNT_BIG (DICTINCT өрнек)
GROUPING (баған) 1 қайтарады, егер агрегатты жол CUBE не ROLLUP опер-мен қосылса.

MAX (өрнек) Өрнектің бос емес мәндердің максималды мәні.

MIN (өрнек) Өрнектің бос емес мәндердің минималды мәні.

SUM (өрнек) Өрнектің барлық бос емес мәндердің қосындысы. 

STDEV (өрнек) Өрнектің бос емес мәндердің ортаквадраттық ауысуы.

STDEV P (өрнек) Ығыстырылған өрнектің бос емес мәндердің ортаквадратты қ ауысуы.

VAR (өрнек) Өрнектің бос емес мәндердің дисперсиясы.

VARP (өрнек) Өрнектің бос емес мәндердің ығыстырылған дисперсиясы.

Ұқсас жұмыстар
Си тілінде құрылған программаның құрылымын сипаттау
Алгоритмдік тілдің және семантикасы
Бір өлшемді массивтер
Орындалатын программаны құру сатылары
Алгоритм туралы ақпарат
лгоритмдік тілдің алфавиті, синтаксисі және семантикасы. Тілдің синтаксисін синтаксистік диаграмма және метатіл формуласы көмегімен сипаттау
Алгоритмдік тілдің алфавиті, синтаксисі және семантикасы. Тілдің синтаксисін синтаксистік
Ашамай кесте
Си тілінде құрылған программаның құрылымын сипаттау Си программалау жүйесінің файлдарының құрамы қандай Си тілінде деректерді ұйымдастыру
Өрнектердің түстеріне сипаттама
Пәндер