トップ «前の日記(2015-05-25(Mon)) 最新 次の日記(2015-06-06(Sat))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2015-05-31(Sun) 昨日はサボってばかり

select * from $TABLE;

は、

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)

distinct

指定されたカラム全部が一致するものから重複を省く。

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や内容が変った場合はあしからず。

index.htmlは ここから。