Įrašų atranka atliekant SQL užklausą Python duomenų bazėje

Testiniame SQL užklausos kode yra komanda SELECT, atrenkanti duomenis iš duomenų bazės. Dabar išsamiau panagrinėkime jos sintaksę. Štai jis:

pythonquery = "SELECT * FROM lentelė WHERE sąlyga"

Po lentelės pavadinimo taip pat galima pridėti komandą WHERE, kurioje nurodoma sąlyga atrenkamiems įrašams. Joje leidžiamos šios palyginimo operacijos: =, !=, <>, <, >, <=, >=.

Pažvelkime į jų taikymą pavyzdžiuose.

Pavyzdys

Parinksime vartotoją, kurio id yra lygus 2:

pythonquery = "SELECT * FROM users WHERE id=2"

Vykdyto kodo rezultatas:

python{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}

Pavyzdys

Parinksime vartotojus, kurių id yra didesnis už 2:

pythonquery = "SELECT * FROM users WHERE id>2"

Vykdyto kodo rezultatas:

python{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}

Pavyzdys

Parinksime vartotojus, kurių id yra didesnis arba lygus 2:

pythonquery = "SELECT * FROM users WHERE id>=2"

Vykdyto kodo rezultatas:

python{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}

Pavyzdys

Parinksime vartotojus, kurių id *nėra* lygus 2:

pythonquery = "SELECT * FROM users WHERE id!=2"

Vykdyto kodo rezultatas:

python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}

Pavyzdys

Vietoj komandos != galima rašyti komandą <>:

pythonquery = "SELECT * FROM users WHERE id<>2"

Pavyzdys

Parinksime vartotoją vardu 'user1'. Čia mus laukia svarbus niuansas: kadangi vardas yra eilutė (string), jį būtinai reikia įdėti į kabutes:

pythonquery = "SELECT * FROM users WHERE name='user1'"

Vykdyto kodo rezultatas:

python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}

Pavyzdys

Jei komanda WHERE nėra, tai bus parinkti visi lentelės įrašai. Parinkime visus darbuotojus:

pythonquery = "SELECT * FROM users"

Vykdyto kodo rezultatas:

python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}

Praktinės užduotys

Задание 1

Parinkite vartotoją, kurio id yra lygus 3.

Задание 2

Parinkite vartotojus, kurių atlyginimas yra 900.

Задание 3

Parinkite vartotojus, kurių amžius yra 23 metai.

Задание 4

Parinkite vartotojus, kurių atlyginimas didensis už 400.

Задание 5

Parinkite vartotojus, kurių atlyginimas yra lygus arba didesnis už 500.

Задание 6

Parinkite vartotojus, kurių atlyginimas *NĖRA* lygus 500.

Задание 7

Parinkite vartotojus, kurių atlyginimas yra lygus arba mažesnis už 500.