僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
は、
SELECT * FROM $TABLE WHERE '*' = '*';
と等価。また、一件もヒットしなかった場合の
SELECT * FROM $TABLE WHERE '*' = 'HOGE'; Empty set
は、「空集合」という意味。
select節には、リテラル、式、関数を追加できるものだそうだ。
カンマがない場合、列エイリアスになる。
select dept_id, now(), 'あほか' from department;
+---------+---------------------+-----------+
| dept_id | now() | あほか |
+---------+---------------------+-----------+
| 1 | 2015-05-31 09:19:56 | あほか |
| 2 | 2015-05-31 09:19:56 | あほか |
| 3 | 2015-05-31 09:19:56 | あほか |
+---------+---------------------+-----------+
3 rows in set (0.00 sec)
select dept_id, now() 'あほか' from department; +---------+---------------------+ | dept_id | あほか | +---------+---------------------+ | 1 | 2015-05-31 09:21:06 | | 2 | 2015-05-31 09:21:06 | | 3 | 2015-05-31 09:21:06 | +---------+---------------------+ 3 rows in set (0.00 sec)
fromが要らない例。
select version() 'バージョン', USER() 'ユーザ', DATABASE() 'でーたべーす'; +-----------------+-----------------+--------------------+ | バージョン | ユーザ | でーたべーす | +-----------------+-----------------+--------------------+ | 5.5.43-0+deb8u1 | $USER@localhost | NULL | +-----------------+-----------------+--------------------+ 1 row in set (0.00 sec)
指定されたカラム全部が一致するものから重複を省く。
select distinct fname from people.person ; +--------+ | fname | +--------+ | first | | second | | third | +--------+ 3 rows in set (0.00 sec)
select distinct fname, birth_date from people.person ; +--------+------------+ | fname | birth_date | +--------+------------+ | first | 2015-01-01 | | second | 2015-01-01 | | third | 2015-01-01 | | second | 1972-08-27 | +--------+------------+ 4 rows in set (0.00 sec)
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。