
テーブルに人の名前とその人が属しているグループの名前を持っています。
ある人Aと同じグループに属する人を取得したいです。
SELECT man_name
FROM tableA
START WITH man_name ='A'
CONNECT BY (PRIOR group_name = group_name)
and (prior man_name < man_name)
無限ループのエラーを回避する為に、
and (prior man_name < man_name)
の条件を入れてますが、同じ人(レコード)が
何回も現れてしまします。
同じレコードの表示を1回だけにするにはどうしたらよいのでしょうか。
No.2ベストアンサー
- 回答日時:
誤解があるようです。
>このテーブルはレコード数が多く、2回問い合わせするよりは、1回の方がいいかと思い階層問い合わせを使ってみました。
>ですが、階層問い合わせの方がパフォーマンスが落ちるのでしょうか?
階層問い合わせは、(最低でも)階層の階数分、索引およびテーブルを探査します。
なので、サブクエリを使った問い合わせの方が圧倒的に速く終わるはずです。
select man_name
from tableA
where group_name in (select group_name from tableA where man_name='A');
ありがとうございます。
階層問い合わせはFROM句が一つなので、問い合わせが1回かと思っていました。
パフォーマンスを考えたら、階層問い合わせはあまり使わない方がいいみたいですね。
No.1
- 回答日時:
こんにちわ。
階層問い合わせを使う必要は無いと思いますょ。
Select man_name from tableA where group_name
= (select group_name from tableA where man_name = 'A')
order by man_name;
でどうでしょう?
回答ありがとうございます。
副問い合わせでも対応できるようですが、
このテーブルはレコード数が多く、2回問い合わせするよりは、1回の方がいいかと思い階層問い合わせを使ってみました。
ですが、階層問い合わせの方がパフォーマンスが落ちるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学受験 高校英語です。 関係詞の問題についてで The man whose name I always fo 1 2022/08/19 11:32
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- 中学校 名前の聞き方 1 2022/09/04 15:47
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
OR と IN の違い
-
sqlのテーブル名省略について
-
コンパイルエラーが出ます。助...
-
検索対象のデータが「複数レコ...
-
Oracleのエラースタックトレー...
-
差し込み後、元データを変更し...
-
フィルターかけた後、重複を除...
-
外部参照してるキーを主キーに...
-
SQLで特定の項目の重複のみを排...
-
Outlook 送受信エラー
-
エクセルで最後の文字だけ置き...
-
access2021 VBA メソッドまたは...
-
EXISTSを使ったDELETE文
-
SELECT 文 GROUP での1件目を...
-
SQLServerで文字列の末尾からあ...
-
列番号による項目の取得について
-
列のヘッダーを含めるのをデフ...
-
datetime型でNULL値を入れたい。
-
select文のwhere句に配列を入れ...
-
1日に1人がこなせるプログラム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
OR と IN の違い
-
ビュー情報(user_views)の参...
-
sql文のwhere句について
-
検索対象のデータが「複数レコ...
-
Oracleのエラースタックトレー...
-
各グループの最終日より一週間...
-
階層問い合わせで重複レコード...
-
コンパイルエラーが出ます。助...
-
最新から100行のSELECT文
-
SQL文 テーブルの作成方法につ...
-
データ取得
-
大文字/小文字の区別しないで検...
-
Oracle 11g コミットのタイミン...
-
重複レコードのある項目を比較...
-
表をきれいにするために。
-
caseを使った条件分岐の加算が...
-
Oracle内で作成したFunction、V...
-
sqlのテーブル名省略について
-
SQL xx件目からxx件目まで...
-
SQLについて
おすすめ情報