計算機科学のブログ

SQL - Python - SELECT文 - 天賦のデータ検索 - いくつかの方法

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

schema5_1.sql

select drink_name from easy_drinks
where
drink_name = 'キスオンザリップス';

schema5_2.sql

select drink_name from easy_drinks
where
second = 'あんず果汁';

schema5_3.sql

select drink_name from easy_drinks
where
amount2 = 7;

schema5_4.sql

select drink_name from easy_drinks
where
directions = '氷の上に注いで、ストローを付ける';

schema5_5.sql

select drink_name from easy_drinks
where
drink_name = 'ブルフロッグ';

schema5_6.sql

select drink_name from easy_drinks
where
main = 'アイスティー';

schema5_7.sql

select drink_name from easy_drinks
where
second = 'レモネード';

コード

sample5.py

#! /usr/bin/env python3
import sqlite3

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

for i in range(1, 8):
    with open(f'schema5_{i}.sql') as f:
        cur.execute(f.read())
    print([t[0] for t in cur.description])
    for row in cur.fetchall():
        print(row)
cur.close()
con.close()

入出力結果(Terminal, Zsh)

% ./sample5.py      
['drink_name']
('キスオンザリップス',)
['drink_name']
('キスオンザリップス',)
['drink_name']
('キスオンザリップス',)
['drink_name']
('キスオンザリップス',)
['drink_name']
('ブルフロッグ',)
['drink_name']
('ブルフロッグ',)
['drink_name']
('ブルフロッグ',)
%