PHP-daky SQL soraglarynda logiki amallar
Saýlaw şertinde OR we AND buýruklar bilen has çylşyrymly
kombinasiýalar ýasap bolýar.
Olar, PHP-daky if gurluşyndaky degişlileri ýaly işleýär.
Mysallara seredeliň.
Mysal
Haýyşy 500 bolan we ýaşy
23 ýaş bolan ulanyjylary saýlaýarys:
<?php
$query = "SELECT * FROM users WHERE salary=500 AND age=23";
?>
Mysal
Haýyşy 500 ýa-da
ýaşy 23 ýaş bolan ulanyjylary saýlaýarys:
<?php
$query = "SELECT * FROM users WHERE salary=500 OR age=23";
?>
Mysal
Haýyşy 450
-den 900-a çenli bolan ulanyjylary saýlaýarys:
<?php
$query = "SELECT * FROM users WHERE salary>450 AND salary<900";
?>
Mysal
Ýaşy 23-den
27 ýaşa çenli (şol ýaşlar hem goşulýar) bolan ulanyjylary saýlaýarys:
<?php
$query = "SELECT * FROM users WHERE age>=23 AND age<=27";
?>
Mysal
OR we AND buýruklarynyň çylşyrymly kombinasiýalaryny
ýaýlagaýlyk ýaýlary bilen toparlap bolýar,
şertleriň tertibini görkezmek üçin:
<?php
$query = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)";
?>
Amaly meseleler
Ýaşy 25 ýaşdan (goşulmaýar)
28 ýaşa (goşulýar) çenli bolan ulanyjylary saýlaň.
user1 ulanyjysyny saýlaň.
user1 we user2 ulanyjylaryny saýlaň.
user3 ulanyjysyndan başga hemmesini saýlaň.
Ýaşy 27
ýaş ýa-da haýyşy 1000 bolan ähli ulanyjylary saýlaň.
Ýaşy 27
ýaş ýa-da haýyşy 400 deň bolmadyk ähli ulanyjylary saýlaň.
Ýaşy 23
ýaşdan (goşulýar) 27 ýaşa (goşulmaýar) çenli
ýa-da haýyşy 1000 bolan ähli ulanyjylary saýlaň.
Ýaşy 23
ýaşdan 27 ýaşa çenli ýa-da haýyşy 400-dan
1000-a çenli bolan ähli ulanyjylary saýlaň.