Loogiset operaatiot SQL-kyselyissä PHP:ssä
Valintaehdossa voidaan tehdä monimutkaisempia
yhdistelmiä käyttämällä OR- ja AND-
komentoja.
Ne toimivat samalla tavalla kuin niiden vastineet PHP:n
if-rakenteessa. Katsotaanpa esimerkein.
Esimerkki
Valitaan käyttäjät, joiden palkka on 500 JA ikä
23 vuotta:
<?php
$query = "SELECT * FROM users WHERE salary=500 AND age=23";
?>
Esimerkki
Valitaan käyttäjät, joiden palkka on 500 TAI
ikä 23 vuotta:
<?php
$query = "SELECT * FROM users WHERE salary=500 OR age=23";
?>
Esimerkki
Valitaan käyttäjät, joiden palkka on välillä 450
- 900:
<?php
$query = "SELECT * FROM users WHERE salary>450 AND salary<900";
?>
Esimerkki
Valitaan käyttäjät, joiden ikä on välillä 23 -
27 vuotta mukaan lukien:
<?php
$query = "SELECT * FROM users WHERE age>=23 AND age<=27";
?>
Esimerkki
Monimutkaisia OR- ja AND-komentojen
yhdistelmiä voidaan ryhmitellä pyöreillä suluilla
osoittamaan ehtojen prioriteetti:
<?php
$query = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)";
?>
Käytännön tehtävät
Valitse käyttäjät, joiden ikä on välillä 25 (ei
mukaan lukien) - 28 vuotta (mukaan lukien).
Valitse käyttäjä user1.
Valitse käyttäjät user1 ja user2.
Valitse kaikki paitsi käyttäjä user3.
Valitse kaikki käyttäjät, joiden ikä on 27
vuotta TAI palkka on 1000.
Valitse kaikki käyttäjät, joiden ikä on 27
vuotta TAI palkka ei ole 400.
Valitse kaikki käyttäjät, joiden ikä on välillä 23
vuotta (mukaan lukien) - 27 vuotta (ei mukaan lukien)
TAI palkka on 1000.
Valitse kaikki käyttäjät, joiden ikä on välillä 23
vuotta - 27 vuotta TAI palkka on välillä 400
- 1000.