# # link python fiddle: https://shar.es/abqOR1 # link db fiddle: https://www.db-fiddle.com/f/29JAiVt4WxC5R9WDarqXZN/2 # Задание №3 import sqlite3 conn = sqlite3.connect("taskdb.db") cursor = conn.cursor() # Создаем таблицу users cursor.execute("""CREATE TABLE IF NOT EXISTS users ( id int NOT NULL, last_name varchar(100) NOT NULL, first_name varchar(100) NOT NULL, middle_name varchar(100) NOT NULL );""") cursor.execute("""INSERT INTO users (id, last_name, first_name, middle_name) VALUES ('1', 'Иванов','Андрей','Петрович'), ('2', 'Петров','Иван','Андреевич'), ('3', 'Иванов','Виталий','Иванович'), ('4', 'Сергеев','Петр','Витальевич'), ('5', 'Андреев','Сергей','Сидорович');""") conn.commit() # Создаем запрос sql # Тест1 # Обработка запроса query = [i for i in input().split()] while len(query) < 3: query.append('%') # Тест2 #query = ["Иван", "Иван", "%"] # SQL запрос тестировал на https://www.db-fiddle.com/ sql = (f"""SELECT DISTINCT * FROM users WHERE LOWER(last_name) LIKE LOWER('{query[0]}%') AND LOWER(first_name) LIKE LOWER('{query[1]}%') AND LOWER(middle_name) LIKE LOWER('{query[2]}%') OR LOWER(last_name) LIKE LOWER('{query[2]}%') AND LOWER(first_name) LIKE LOWER('{query[0]}%') AND LOWER(middle_name) LIKE LOWER('{query[1]}%') OR LOWER(last_name) LIKE LOWER('{query[1]}%') AND LOWER(first_name) LIKE LOWER('{query[2]}%') AND LOWER(middle_name) LIKE LOWER('{query[0]}%') OR LOWER(last_name) LIKE LOWER('{query[1]}%') AND LOWER(first_name) LIKE LOWER('{query[0]}%') AND LOWER(middle_name) LIKE LOWER('{query[2]}%') OR LOWER(last_name) LIKE LOWER('{query[2]}%') AND LOWER(first_name) LIKE LOWER('{query[1]}%') AND LOWER(middle_name) LIKE LOWER('{query[0]}%') OR LOWER(last_name) LIKE LOWER('{query[0]}%') AND LOWER(first_name) LIKE LOWER('{query[2]}%') AND LOWER(middle_name) LIKE LOWER('{query[1]}%') ;""") cursor.execute(sql) row = (cursor.fetchall()) # or use fetchone() print(row) conn.close()
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question