計算機科学のブログ

SQL - Python - SELECT文 - 天賦のデータ検索 - where句, OR

Head First SQL ―頭とからだで覚えるSQLの基本Lynn Beighley(著)、 佐藤 直生(監訳)、 松永 多苗子(翻訳)、 オライリージャパンの 2章(SELECT文 - 天賦のデータ検索)、p.93(自分で考えてみよう)の解答を求めてみる。

schema8_0.sql

select drink_name from easy_drinks
where
main = 'オレンジジュース';

schema8_1.sql

select drink_name from easy_drinks
where
main = 'アップルジュース';

schema8_2.sql

select drink_name from easy_drinks
where main = 'オレンジジュース'
or main = 'アップルジュース';

コード

sample8.py

#! /usr/bin/env python3
import sqlite3

con = sqlite3.connect('sample.db')
cur = con.cursor()

for i in range(3):
    with open(f'schema8_{i}.sql') as f:
        cur.execute(f.read())
    if (d := cur.description) is not None:
        print([t[0] for t in d])
    for row in cur.fetchall():
        print(row)

cur.close()
con.close()

入出力結果(Terminal, Zsh)

% ./sample8.py
['drink_name']
['drink_name']
('インディアンサマー',)
['drink_name']
('インディアンサマー',)
%