Көп учурда маалымат базасынан бардык маалыматтарды эмес, белгилүү бир шартка жооп бергендерди гана алуу керек. SELECT буйругундагы маалыматтарды чыпкалоо үчүн, WHERE пунктун , андан кийин төмөнкү шартты колдонуңуз:
1 |
WHERE условие |
Эгер шарт чын болсо, анда сап жыйынтык тандоого кошулат. Сиз эки туюнтманы салыштыруучу салыштыруу операцияларын колдоно аласыз:
Мисалы, Samsung чыгарган бардык өнүмдөрдү тандап алалы:
1 2 |
SELECT * FROM Products WHERE Manufacturer = 'Samsung'; |
Белгилей кетчү нерсе, MySQL регистрди сезбейт жана, мисалы, "Samsung" сабы "SAMSUNG" же "sumSunG" саптарына эквиваленттүү болот.
Дагы бир мисал - саны 3төн аз болгон бардык өнүмдөрдү табалы:
1 2 |
SELECT * FROM Products WHERE ProductCount < 3; |
Чыпкалоо критерийи дагы татаал татаал туюнтманы көрсөтө алат. Мисалы, жалпы баасы 100 000 сомдон жогору болгон бардык товарларды табалы:
1 2 |
SELECT * FROM Products WHERE Price * ProductCount > 100000; |
Логикалык операторлор
Логикалык операторлор бир нече шарттарды бириктирүүгө мүмкүндүк берет. MySQLде төмөнкү логикалык операторлорду колдонсо болот:
1 |
выражение1 AND выражение2 |
1 |
выражение1 OR выражение2 |
1 |
NOT выражение |
Мисалы, өндүрүүчүсү Samsung жана ошол эле учурда баасы 50 000ден жогору болгон бардык өнүмдөрдү тандап алалы:
1 2 |
SELECT * FROM Products WHERE Manufacturer = 'Samsung' AND Price > 50000 |
Эми операторду OR деп өзгөртөлү . Башкача айтканда, биз Samsung тарабынан жасалган же баасы 50 000ден жогору болгон бардык өнүмдөрдү тандайбыз:
1 2 |
SELECT * FROM Products WHERE Manufacturer = 'Samsung' OR Price > 50000 |
ЭМЕС операторун колдонуу - өндүрүүчүсү Samsung эмес бардык өнүмдөрдү тандаңыз:
1 2 |
SELECT * FROM Products WHERE NOT Manufacturer = 'Samsung'; |
Операциянын артыкчылыктуулугу
Бир шартта, керек болсо, биз бир нече логикалык операцияларды бириктире алабыз. Бирок, биринчи кезекте аткарылуучу эң жогорку артыкчылыктуу операция - ЭМЕС, төмөнкү артыкчылык - ЖАНА, ал эми эң төмөнкү артыкчылыктуу операция - ЖЕ экенин белгилей кетүү керек. Мисалы:
1 2 |
SELECT * FROM Products WHERE Manufacturer ='Samsung' OR NOT Price > 30000 AND ProductCount > 2; |
Бул учурда, сөз биринчи эсептелет NOT Price > 30000, башкача айтканда, баасы 30000 кем же барабар болушу керек.
Андан кийин туюнтма эсептелет NOT Price > 30000 AND ProductCount > 2, башкача айтканда, баасы 30 000ден аз же барабар болушу керек жана ошол эле учурда товарлардын саны 2ден көп болушу керек.
Аягында ЖЕ оператору эсептелет - же баасы 30 000ден аз же барабар болушу керек жана ошол эле учурда товардын саны 2ден көп болушу керек, же өндүрүүчүсү Samsung болушу керек.
кашааларды колдонуу менен сиз операциялардын артыкчылыктарын жокко чыгара аласыз:
1 2 |
SELECT * FROM Products WHERE Manufacturer ='Samsung' OR NOT (Price > 30000 AND ProductCount > 2); |
Бул учурда, биз өндүрүүчүсү Samsung болгон, же ошол эле учурда буюмдун баасы 30 000ден аз же барабар болгон жана продукциянын саны 3төн аз болгон өнүмдөрдү табабыз.