SQL Tips †複数のデータを行方向に並べる †PostgreSQLで試すと以下のようになる。 db=# SELECT 'ABC' UNION ALL SELECT 'DEF' UNION ALL SELECT 'GHI'; ?column? ---------- ABC DEF GHI (3 rows) ちなみにとても重いので多用しない方がいい。 ※"UNIONはダメだ!UNION ALLをつかえ!"と天の声が聞こえたので書き換えました。 複数のカラムにLIKEや正規表現比較をかける †次のようなテーブルがあって、全てのカラムから一致する内容を探すとする。 db=# SELECT * FROM employees ; firstname | lastname | company | division | title -----------+----------+------------------+----------+------------ 黄川田 | 光国 | ナニガシ株式会社 | 開発部 | 主任 山田 | 太郎 | ダメ商事 | 営業部 | マネージャ (2 rows) カラムをくっつけてから検索!MySQLだとconcat()使えばOK。 db=# SELECT * FROM employees WHERE firstname||lastname||company||divisi on||title LIKE '%主任%'; firstname | lastname | company | division | title -----------+----------+------------------+----------+------- 黄川田 | 光国 | ナニガシ株式会社 | 開発部 | 主任 (1 row) db=# SELECT * FROM employees WHERE firstname||lastname||company||division||title LIKE '%部%'; firstname | lastname | company | division | title -----------+----------+------------------+----------+------------ 黄川田 | 光国 | ナニガシ株式会社 | 開発部 | 主任 山田 | 太郎 | ダメ商事 | 営業部 | マネージャ (2 rows) 初めて知ったときは目から鱗!でした。 |