SAK 図書館
MySQL 編10 - スカラー副問い合わせ、件数指定、LIMIT、HAVING、USING
■スカラー副問い合わせ ・MySQL では、スカラー副問い合わせはサポートされていないようである。 ■インラインビュー ・MySQL では、インラインビューはサポートされていないようである。 ■件数指定 LIMIT ・先頭から 3 件問い合わせるには、次のようにする。 access の top と同じことができる。 (TOP 10 取得、表示行制限、レコード数限定、件数指定、表示件数) (1 レコード取得、1 件取得) select * from testm order by key1 limit 0, 3 ; +------+-------+-------+-------+ | key1 | data1 | data2 | data3 | +------+-------+-------+-------+ | a001 | 1 | 2 | 3 | | a011 | 1 | 2 | 3 | | b002 | 10 | 20 | 30 | +------+-------+-------+-------+ ・先頭レコードを問い合わせるには、次のようにする。 select * from testm where key1 like 'a%' order by key1 limit 0, 1 ; +------+-------+-------+-------+ | key1 | data1 | data2 | data3 | +------+-------+-------+-------+ | a001 | 1 | 2 | 3 | +------+-------+-------+-------+ ・最後から 3 件問い合わせるには、ソートオーダを逆にすれば良い。 select * from testm order by key1 desc limit 0, 3 ; +------+-------+-------+-------+ | key1 | data1 | data2 | data3 | +------+-------+-------+-------+ | c003 | 100 | 200 | 300 | | b002 | 10 | 20 | 30 | | a011 | 1 | 2 | 3 | +------+-------+-------+-------+ ■HAVING ・集計結果に対する問い合わせ条件を指定する。 select key1, count(*), sum(data1), avg(data1) from testm group by key1 having sum(data1) > 10; +------+----------+------------+------------+ | key1 | count(*) | sum(data1) | avg(data1) | +------+----------+------------+------------+ | c003 | 1 | 100 | 100.0000 | +------+----------+------------+------------+ ■USING ・項目で結合する。(この例は悪い。) select * from test2m left join testm using (key1); select * from test2m left join testm using (key1); ■CROSS JOIN ・Oracle の「,」標記と同じ。(クロス結合、クロスジョイン) select * from test2m cross join testm where test2m.code1 = testm.key1; +-------+-------+------+-------+-------+-------+ | key1 | code1 | key1 | data1 | data2 | data3 | +-------+-------+------+-------+-------+-------+ | abc01 | a001 | a001 | 1 | 2 | 3 | | abc02 | a011 | a011 | 1 | 2 | 3 | +-------+-------+------+-------+-------+-------+ ■NATURAL JOIN ・同じ名前の列を自然結合する。(ナチュラルジョイン) (この例は悪い。) select * from test2m natural left join testm; +-------+-------+------+-------+-------+-------+ | key1 | code1 | key1 | data1 | data2 | data3 | +-------+-------+------+-------+-------+-------+ | abc01 | a001 | NULL | NULL | NULL | NULL | | abc02 | a011 | NULL | NULL | NULL | NULL | | abc03 | z999 | NULL | NULL | NULL | NULL | +-------+-------+------+-------+-------+-------+ ■MySQL 編資料
■PostgreSQL 編、JAVA Servlet、JSP 編資料
■SQL 基礎編資料
■SQL 基礎実地編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料