Įrašų atranka atliekant SQL užklausą į duomenų bazę PHP
Testiniame kode jūs jau matėte komandą SELECT,
atrenkančią duomenis iš DB. Dabar
išsamiau panagrinėkime jos sintaksę.
Jis yra toks:
<?php
$query = "SELECT * FROM table WHERE condition";
?>
Kaip matote, po lentelės pavadinimo galima
parašyti komandą WHERE, kurioje galima
aprašyti apribojimus atrenkamiems įrašams.
Sąlygoje leidžiamos šios palyginimo operacijos:
=, !=, <>, <,
>, <=, >=.
Pažiūrėkime jų taikymą pavyzdžiuose.
Pavyzdys
Atrankime vartotoją, kurio id yra lygus 2:
<?php
$query = "SELECT * FROM users WHERE id=2";
?>
Pavyzdys
Atrankime vartotojus, kurių id yra didesnis už 2:
<?php
$query = "SELECT * FROM users WHERE id>2";
?>
Pavyzdys
Atrankime vartotojus, kurių id yra didesnis arba lygus
2:
<?php
$query = "SELECT * FROM users WHERE id>=2";
?>
Pavyzdys
Atrankime vartotojus, kurių id nėra lygus 2:
<?php
$query = "SELECT * FROM users WHERE id!=2";
?>
Pavyzdys
Vietoj komandos != galima rašyti komandą
<>:
<?php
$query = "SELECT * FROM users WHERE id<>2";
?>
Pavyzdys
Atrankime vartotojus, kurių amžius yra 23 metai:
<?php
$query = "SELECT * FROM users WHERE age=23";
?>
Pavyzdys
Atrankime vartotojus, kurių atlyginimas yra 500:
<?php
$query = "SELECT * FROM users WHERE salary=500";
?>
Pavyzdys
Atrankime vartotoją, kurio vardas yra 'user1'. Čia
mūsų laukia svarbus niuansas: kadangi vardas yra
eilutė, jį reikia paimti į kabutes:
<?php
$query = "SELECT * FROM users WHERE name='user1'";
?>
Pavyzdys
Jei komanda WHERE nėra, tai
bus atrenkami visi lentelės įrašai. Atrankime
visus darbuotojus:
<?php
$query = "SELECT * FROM users";
?>
Praktinės užduotys
Atrankite vartotoją, kurio id yra lygus 3.
Atrankite vartotojus, kurių atlyginimas yra 900.
Atrankite vartotojus, kurių amžius yra 23 metai.
Atrankite vartotojus, kurių atlyginimas yra didesnis už 400.
Atrankite vartotojus, kurių atlyginimas yra lygus arba didesnis
už 500.
Atrankite vartotojus, kurių atlyginimas NĖRA lygus 500.
Atrankite vartotojus, kurių atlyginimas yra lygus arba mažesnis
už 500.