Sql AND ve OR kullan─▒m─▒n─▒n kar─▒┼čmas─▒ – ├ç├ľZ├ťM

Sql AND ve OR kullan─▒m─▒n─▒n kar─▒┼čmas─▒ – ├ç├ľZ├ťM

06 Eyl├╝l 2013

Merhaba arkada┼člar bu yaz─▒mda sizlere sql sorgular─▒nda hem OR hem AND ayra├žlar─▒n─▒ kullan─▒rken ya┼čan─▒lan sonu├ž hatalar─▒n─▒n d├╝zentilmesini g├Âstericem.

Bu olay─▒ g├Âstermek i├žin LIKE ile arama yapt─▒r─▒cam en anla┼č─▒l─▒r olarak b├Âyle anlatabilirim diye d├╝┼č├╝nd├╝m

Mant─▒k ┼ču
Benim m├╝┼čteriler tablodam 6 tane sutun var bunlar
id | isimsoyisim | telefon | mail | siparisonay | odemeyapildi

sutunlar yukar─▒daki gibi ┼čimdi ben arama yapt─▒rmak istersem

SELECT * FROM musteriler WHERE isimsoyisim LIKE “%Hasan%” AND mail LIKE “%Hasan%” AND telefon LIKE “%Hasan%”

Sql de and or ├žak─▒┼čmas─▒

Sql de and or ├žak─▒┼čmas─▒

Yukar─▒daki sorguyu kullan─▒rsam asl─▒nda hata yapm─▒┼č olurum sonucu bana vermeyecek veya istedi─čim sonucu vermeyecektir. Bunun sebebi ise ayra├ž olarak AND kullanmam─▒z yukar─▒daki sorguyu okuyal─▒m ┼č├Âyle bir mant─▒k ├ž─▒k─▒yor.

M├╝┼čteriler tablosundaki isimsoyisim de Hasan ge├žen ayn─▒ zamanda mail k─▒sm─▒nda Hasan ge├žen ayn─▒ zamanda telefonda Hasan ge├ženleri se├ž.

Ayn─▒ zamanda dedi─čim k─▒s─▒mlar olmas─▒ ┼čart olan k─▒s─▒mlar yani. Hasan kelimesi isimsoyisim , mail ve telefonda ge├žmek zorunda oluyor bizim istedi─čimiz hangisinde varsa onun listelenmesi o zaman sql sorgumuzu ┼č├Âyle de─či┼čtiriyoruz

SELECT * FROM musteriler WHERE isimsoyisim LIKE “%Hasan%” OR mail LIKE “%Hasan%” OR telefon LIKE “%Hasan%”

Sql or ile sa─čl─▒kl─▒ arama

Sql or ile sa─čl─▒kl─▒ arama

Bu sorgu do─čru bir sorgudur okunu┼čunuda yapal─▒m daha iyi anlayal─▒m

M├╝┼čteriler tablosundaki isimsoyisimde Hasan ge├ženleri bul yoksa mailde Hasan ge├ženleri bul yoksa telefonda Hasan ge├ženleri bul

Ben burada “yoksa” olarak kulland─▒m daha iyi anla┼č─▒ls─▒n diye OR kelimesinin T├╝rk├žesi “veya, yada” anlam─▒na geliyor.

Neyse devam edelim sorgumuzu bir ad─▒m daha ├Âteye ta┼č─▒yal─▒m ┼č├Âyle bir┼čey istiyoruz m├╝┼čteriler tablosunda sipari┼či onay verilmi┼č ama ├Âdemesi yap─▒lmam─▒┼č olanlar─▒ arama yapal─▒m o zaman sorgumuz ┼č├Âyle oluyor.

SELECT * FROM musteriler WHERE siparisonay=”1″ AND┬á odemeyapildi=”0″ AND isimsoyisim LIKE “Hasan” OR mail LIKE “Hasan” OR telefon LIKE “Hasan”

┼×u an sorgu sap─▒tt─▒ neden derseniz a┼ča─č─▒daki resme bakarsan─▒z anlars─▒n─▒z.

r3

G├Ârd├╝─č├╝n├╝z gibi ben odemeyapildi=”0″ lar─▒ istiyorum ama bana odemeyapildi=”1″ leri g├Âsteriyor. ┼×u an bu sorguda bana sonu├ž bulamamas─▒ laz─▒m asl─▒nda ├ž├╝nk├╝ veriler aras─▒nda ad─▒ Hasan olan tek ki┼či benim ve ├Âdememi yapm─▒┼č─▒m sorguda ├Âdemesi yap─▒lmayan Hasanlar─▒ istiyor. Bunu ┼č├Âyle ├ž├Âz├╝yoruz

SELECT * FROM musteriler WHERE siparisonay=”1″ AND┬á odemeyapildi=”0″ AND (isimsoyisim LIKE “%Hasan%” OR mail LIKE “%Hasan%” OR telefon LIKE “%Hasan%”)

Yukar─▒daki sorguda tek fark koyu ile belirtti─čim parantezler. K─▒rm─▒z─▒ AND den sonra geliyor fark ettiyseniz AND olmas─▒ ┼čart neden derseniz sonuca dahil olmas─▒ gerekiyor.

Sql de parantez kullan─▒m─▒

G├Ârd├╝─č├╝n├╝z ├╝zere sorgunun sonuc 0 ­čÖé ben ├Âdememi yapm─▒┼č─▒m ├ž├╝nk├╝ ve ba┼čka hasan de olmad─▒ i├žin sonu├ž 0 ­čÖé anlamad─▒─č─▒n─▒z yer varsa sorun ­čśÇ

"Sql AND ve OR kullan─▒m─▒n─▒n kar─▒┼čmas─▒ – ├ç├ľZ├ťM" Benzer Yaz─▒lar─▒

Kodlama yaparken dinleyebilece─činiz bir ka├ž ┼čark─▒ Eski tarihi oldu─čumuz aydan 1 ay sonras─▒n─▒ g├Âsterme

Sql AND ve OR kullan─▒m─▒n─▒n kar─▒┼čmas─▒ – ├ç├ľZ├ťM Etiketleri:

Bir Cevap Yaz─▒n

E-posta hesab─▒n─▒z yay─▒mlanmayacak. Gerekli alanlar * ile i┼čaretlenmi┼člerdir