Сол сияқты, сыртқы сыртқы біріктіру жүзеге асырылады:
SELECT
САТЫЛЫМДАР.*, ТҰТЫНУШЫЛАР.*
FROM
ТҰТЫНУШЫЛАР RIGHT JOIN
САТЫЛЫМДАР ON САТЫЛЫМДАР.
Тұтынушылар = ТҰТЫНУШЫ.Тұтынушы
және толық сыртқы байланыс:
SELECT
САТЫЛЫМДАР.*, ТҰТЫНУШЫЛАР.*
FROM
ТҰТЫНУШЫЛАР FULL JOIN
САТЫЛЫМДАР ON САТЫЛЫМДАР.
Тұтынушы = ТҰТЫНУШЫЛАР. Тұтынушы
Кейде SELELECT операторларының орындалуынан кейін
қайтарылған деректердің екі немесе одан да көп нәтиже жиынтығын
біріктіру қажет. Мұндай біріктіру UNION операторы арқылы
орындалады. Біріктірілетін деректер жиынтығы бірдей құрылымға ие
болуы тиіс, яғни бірдей өріс құрамы (тип, өлшем). Егер алынған
деректер жинақтарында бірдей жазбалар болса, олар бір жолға
біріктірілген жиынтыққа жазылады:
<оператор SELECT>
UNION
<оператор SELECT>
SELEC
T операторын қолдану арқылы әртүрлі кестелердегі
деректерді таңдау үшін өте күрделі шарттар жасай аласыз.
12.4.
ДЕРЕКТЕРДІ ӨЗГЕРТУ. INSERT,
UPDATE, DELETE
ОПЕРАТОРЛАРЫ
Дерекқорды пайдаланушы деректерімен толтыру, бар деректерді
өзгерту және жою үшін, DML ішкі кілттің SQL операторларын
пайдаланыңыз. Операторлар бұл жасалуы тиіс дәл қалай көрсетпестен,
дерекқор деректермен не істеу керектігін сұрайды. INSERT операторы
жаңа жолдарды кестелерге немесе дерекқор көріністеріне қосу үшін
пайдаланылады. Дерекқор кестелеріндегі деректерді өзгерту үшін
UPDATE операторын пайдаланыңыз. Кестелердің жолдарын жою үшін
DELETE операторын қолданыңыз.
Барлық іс-шаралар (жүгіру) контексінде дерек өзгеруінің кез келген
мәміле бойынша жүзеге асырылады. Ол алдын-ала ала деректер және
метадеректер, деректер базасында кез-келген операцияларды орындау
кезінде қажетті сипаттамаларды немесе әдепкі операциямен клиент
делінген SET операция жүйесі арқылы автоматты түрде қосылатын іске
қосылды болады.
268
SQL тілі жазбалар тобында операцияларды орындауға бағытталған,
бірақ кейбір жағдайларда операция жеке жазбада орындалуы мүмкін.
Сондықтан, жазбаларды қосу, өзгерту және жою үшін операторлар,
әдетте, жазу топтарындағы тиісті әрекеттерді шақырады.
Көріністің негізі болатын тұрақты кестеге немесе кестеге жаңа
жолдарды қосу, INSERT мәлімдемесі арқылы жасалады. Оның
синтаксисі келесідей:
INSERT INTO <
НЫСАН>
[(
баған1[, баған2 ...] ) ]
{VALUES (<
мән>[,< мән2>...]) | <оператор SELECT>}
<
Нысан> — бұл деректер базасының кестесі. Бағандардың тізімі
қосылатын жазбаларда қандай мәндер тағайындалатын бағандарды
көрсетеді. Бағандардың тізімі алынып тасталуы мүмкін. Бұл жағдайда
объектінің барлық бағандары түсініледі және олар осы нысанда
анықталған ретпен.
Мәндердің тізімдерін екі жолмен тағайындауға болады: VALUES
сөзінен кейін мәнді нақты көрсете отырып және SELECT операторын
пайдаланып мәндер тізімін құрыңыз.
Мәндердің тізімінің анық көрсеткіші жеке жазбаны қосу үшін және
пішімі бар:
INSERT INTO <
нысан>
[(
столбец1[, баған2 ...] ) ]
VALUES (<
мән> [,< мән 2>...])
Мәндер бағандарға бір және екіншісінің тәртіпте тағайындалады:
бірінші бағанда бірінші мән, екінші баған екінші мән және т.с.с.
Мысалы, кестеде ТАУАРЛАР жаңа жазбаны келесі оператор қосуға
болады:
INSERT INTO
ТАУАРЛАР (Тауар, ЕИ, Құны)
VALUES («
Қант», «кг.», 100)
ТАУАРДЫ кестенің бағандары кестені жасаған кезде толық құрамда
және тәртіпте тізімделгендіктен, оператор жеңілдетілуі мүмкін:
INSERT INTO
ТАУАРЛАР
VALUES («
Қант», «кг.», 100)
269
INSERT
операторының екінші пішіні келесі пішім:
INSERT INTO <
нысан>
[(
баған1[, баған2 ...] ) ]
<
оператор SELECT>
Бағандарға тағайындалған мәндер - SELECT операторы арқылы
қайтарылған мәндер. SELECT сөйлемі әдетте жазбалардың жиынын
қайтаратындықтан, осы пішіндегі INSERT мәлімдемесі нысанға жаңа
жазбалардың санын қосады.
Мысалы, кез-келген дерекқорда САТЫЛЫМДАР кестесімен ұқсас
өрістердің құрамы мен тәртібіне сәйкес САТЫЛЫМДАР кестесі
анықталған:
CREATE TABLE
САТЫЛЫМДАР (Нөмір INTEGER NOT
NULL,
ТұтынушыVARCHAR(20) NOT NULL COLLATE PXW_CYRL,
Тауар VARCHAR(20) NOT NULL COLLATE PXW_CYRL, Саны
INTEGER NOT NULL,
Күні DATE NOT NULL,
PRIMARY KEY (
Нөмір)
Бұл кестеден алынған деректер күнделікті кез келген географиялық
қашықтағы дерекқорға, мысалы, САТЫЛЫМДАР-ға қосылсын делік.
Содан кейін САТЫЛЫМДАР кестесіне САТЫЛЫМ кестесіндегі
жазбаларды күнделікті түсіру оператор арқылы жүзеге асырылады:
INSERT INTO
САТЫЛЫМДАР_ГЛ SELECT *
FROM
САТЫЛЫМДАР
WHERE
Күні = < күні>,
мұндағы <күні> — ағымдағы күннің мағынасы.
Қалыпты кестедегі немесе өзгермейтін көрініс үшін негіздегі кестеде
бар жолдардың бағандарындағы деректерді өзгерту үшін UPDATE
операторын пайдаланыңыз. Бір қоңырауға арналған оператор барлық
жолдардағы немесе кестедегі немесе көріністегі жолдардың
бөліктеріндегі деректерді өзгертуге мүмкіндік береді. Оның синтаксисі
келесі пішіммен ұсынылған:
UPDATE <
нысан>
SET
баған1=<мәні1> [, баған2=<мәні2>...] [WHERE <шарты>]
270
Достарыңызбен бөлісу: |