おすすめ本

最近のトラックバック

  • event (夢茶爺&苦茶爺のPC奮戦備忘録)

AccRanking

Ad

« 【jQuery】ラベルで囲まれたチェックボックスで、ラベルのclickイベントが2回実行される | メイン | VB.NET:While文を使って一連の処理を中断する方法 »

2017年10月19日 (木)

【Oracle SQL】テーブルから1行のみのデータを取得する方法

テーブルのデータ取得で、何かの条件で先頭のデータのみ必要な時があります。 こんな時、MySQLであればLIMIT句で LIMIT 1 とSELECT文の最後に記述すれば可能ですが、 Oracleの場合ではこの様な機能はありません。

OracleではSELECTの結果の行番号を返す ROWNUM という擬似列があります。 この擬似列を利用することで、LIMITと似た感じにできます。先ずは以下の例で、ROWNUM の値を表示してみます。 内側のUNIONで連結されたSELECT文の羅列は、'0010', '0001', '0020', '0030'の CODE を出力し、 その結果をソートする様になっています。 通常この部分は、実際のテーブルを検索するSELECT文を記述します。
検索結果は CODE と ROWNUM が表示されますが、ROWNUM1からの連番となります。

そこでこの ROWNUM を外側のSELECT文のWHERE句の条件に使えば、目的とする結果が得られます。 上のSQL文から分かるように ROWNUM = 1 の条件を付けることで、 先頭のデータを取得することができます。

■関連ページ
SELECT文に関する基礎的なこと
SELECT文に関する基礎的なこと2
副問い合わせを含むSELECT文について
集合演算子を使ったSELECT文について
CASE式を使ったSELECT文について

達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ


楽天市場

トラックバック

このページのトラックバックURL:
http://app.mitelog.jp/t/trackback/459161/34088568

【Oracle SQL】テーブルから1行のみのデータを取得する方法を参照しているブログ:

コメント

コメントを投稿