質問: 今度(というか明日)オラクルマスターBronze SQL基礎1を受験するのですが,ひとつ分からないことがあるので教えてください. 使っている参考書ですが ・翔泳社さんの黒本「オラクルマスター教科書」 ・インプレスジャパンさんの「徹底攻略ORACLE MASTER 問題集」 の二つの本を使って勉強したのですが,二つの本で食い違う部分があったので,どなたか分かる方教えてください. インプレスジャパンさんの問題2-18番の解説では,「DISTINCTとUNIQUEは同義です.(DISTINCTとUNIQUEは同じように使える)」と書いてあるのですが, 翔泳社さんの模擬問題5番の解説では,「UNIQUEというキーワードを使用して表示する行の重複を省くことはできません.(DISTINCTと同じようには使えません)」 と書いてあります. インターネットで調べても,DISTINCTだけで説明されていたり,両方使えるように説明してあったりするのですが, 「UNIQUEは使えません」という記述が見つからないため,いまいちよく分かりません. 実際はどちらが正しいのでしょうか? オラクルが使える環境があれば,実際に実行してみたら早いのですが,私のPCには環境が入っておらず,また時間がないため,どなたか分かる方教えてください. 宜しくお願いします.
回答: Oracleのオンラインマニュアルに、以下の記載があります。 DISTINCT | UNIQUE DISTINCTまたはUNIQUEを指定すると、選択された重複行の1行のみを戻すことができます。これらの2つのキーワードは同義です。重複行とは、SELECT構文のリスト中のそれぞれの式で一致する値を持つ行のことです。 >オラクルが使える環境があれば,実際に実行してみたら早いのですが,私のPCには環境が入っておらず, Oracleの公式サイトで、Oracle Masterの学習者向けに、操作系SQLを実行できる環境が用意されています。 無料の会員登録が必要で、テーブルの定義は既に容易されているものを使う必要がありますが、selectやupdate等の実行は可能のようです。 >また時間がないため 他人にボランティアでの協力を頼むのに、失礼な発言だと思いますよ?