Ierakstu atlase veicot SQL vaicājumu datubāzē Python

Testa koda SQL vaicājumā ir komanda SELECT, kas veic datu atlasi no datubāzes. Tagad sīkāk apskatīsimies ar tās sintaksi. Lūk, tā:

pythonquery = "SELECT * FROM tabula WHERE nosacījums"

Pēc tabulas nosaukuma var papildus pierakstīt komandu WHERE, kurā tiek norādīts nosacījums atlasāmajiem ierakstiem. Tajā ir atļautas šādas salīdzināšanas operācijas: =, !=, <>, <, >, <=, >=.

Apskatīsim to lietojumu ar piemēriem.

Piemērs

Atlasīsim lietotāju ar id, vienāds ar 2:

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

Izpildītā koda rezultāts:

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

Piemērs

Atlasīsim lietotājus ar id, lielāku par 2:

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

Izpildītā koda rezultāts:

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}

Piemērs

Atlasīsim lietotājus ar id, lielāku vai vienādu ar 2:

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

Izpildītā koda rezultāts:

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}

Piemērs

Atlasīsim lietotājus ar id, nav vienāds 2:

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

Izpildītā koda rezultāts:

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}

Piemērs

Komandas != vietā var rakstīt komandu <>:

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

Piemērs

Atlasīsim lietotāju ar vārdu 'user1'. Šeit mūs sagaida svarīga nianse: tā kā vārds ir virkne, tad tas ir jāieliek pēdiņās:

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

Izpildītā koda rezultāts:

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

Piemērs

Ja komanda WHERE nav, tad tiks atlasīti visi ieraksti no tabulas. Atlasīsim visus darbiniekus:

pythonquery = "SELECT * FROM users"

Izpildītā koda rezultāts:

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}

Praktiskie uzdevumi

Задание 1

Atlasiet lietotāju ar id, vienāds ar 3.

Задание 2

Atlasiet lietotājus ar algu 900.

Задание 3

Atlasiet lietotājus vecumā 23 gadi.

Задание 4

Atlasiet lietotājus ar algu virs 400.

Задание 5

Atlasiet lietotājus ar algu vienādu vai lielāku par 500.

Задание 6

Atlasiet lietotājus ar algu NAV vienāda 500.

Задание 7

Atlasiet lietotājus ar algu vienādu vai mazāku par 500.