UNION операторы
Екі SELECT операторларының ортасында орналасқан UNION операторы екі
таңдамадан біреу жасайды, нәтижелі таңдамада қайталанатын жазбалар
болмайды. Нәтиже бір немесе бірнеше таңдамаға кіретін барлық жолдан
тұратын көптік болады. Бірақ бастапқы таңдама нәтижесінде бірдей өріс
сандарымен болуы тиіс (бағаналары), тип және бір таңдаманың i-ші өрісінің
көлемі кез келген басқа таңдаманың типімен және i-ші өрісінің көлемімен
сәйкес келу тиіс.
UNION опциясын қолданғанда таңдаманың алатын нәтижесіне
константаны қосу көп жағдайда пайдалы болады. Бағана тақырыбы таңдамада
бірінші сұраныспен анықталады. Мысалы, STUD кестесінен 2000 жоғары
стипендия алатын (STIP өрісі) немесе Алматы қаласында тұратын (ADRESS
өрісінде тұратын қала белгіленеді), студенттер тегін (FAM өрісі) таңдау үшін
түсініктеме текст ретінде текстілік константа қолдануға болады:
SELECT FAM AS Тегі, “стипендия>2000” AS Таңдама_белгісі FROM
STUD
WHERE STIP> 2000
UNION
SELECT FAM, “ Алматы қаласы ” FROM
STUD WHERE ADRESS LIKE
“%Алматы”
UNION операторының көмегімен бірнеше SELECT командасын
біріктіруге болады, алайда ORDER BY опциясы UNION операторының
көмегімен тек соңғы SELECT командасына кіреді. Реттеу критериі белгіленген
кезде таңдамада өрістердің нөмері көрсетіледі. Мысалы,
KADR кестесінен
10000 кем жалақы алатын қызметкерлер тегін (FAM өрісі) немесе Алматы
қаласында тұратындарын (ADRESS өрісі) таңдау кезінде мәндерді алдымен
екінші бағана бойынша (таңдама белгісі), сонан кейін бірінші бағана (тегі
алфавит бойынша) бойынша реттеуге болады:
SELECT FAM , “жалақы<1000”
FROM KADR WHERE ZARP<10000
UNION
SELECT FAM , “ Алматы қаласы” FROM KADR
WHERE ADRESS LIKE “%Алматы” ORDER BY 2,1
Үнсіз бойынша UNION операторы нәтижеден қайталанатын жолдарды
алып тастайды. Барлық жолдарды көру үшін UNION операторын ALL
опциясымен қолдану тиіс. (UNION ALL).
10000>