あるテーブルで、別のテーブルに対応する行がない場合に、その行を見つける方法
2023-10-26 20:52:10
質問
2 つのテーブルの間に 1:1 のリレーションシップがあります。私はテーブルBに対応する行を持っていないテーブルAのすべての行を見つけたい。
SELECT id
FROM tableA
WHERE id NOT IN (SELECT id
FROM tableB)
ORDER BY id desc
idは両方のテーブルの主キーです。主キーのインデックスとは別に、tableA(id desc)のインデックスも持っています。
H2 (Java embedded database) を使用すると、tableB のフルテーブルスキャンになります。私はフルテーブルスキャンを避けたいのです。
このクエリを高速に実行するには、どのように書き直せばよいでしょうか。どのようなインデックスが必要でしょうか?
どのように解決するのですか?
select tableA.id from tableA left outer join tableB on (tableA.id = tableB.id)
where tableB.id is null
order by tableA.id desc
もしあなたのデータベースがインデックスの交差を行う方法を知っているならば、これは主キーインデックスにのみ影響します。
関連
-
plsql-stored-procedure ORA-06550 エラー処理
-
[解決済み] あるテーブルから、別のテーブルに存在しないすべてのレコードを選択するにはどうすればよいですか?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] UNIONとUNION ALLの違いは何ですか?
-
[解決済み] 最初の行への結合方法
-
[解決済み] SQL Serverでレコードを削除した後、IDシードをリセットする。
-
[解決済み] SQLite - UPSERT *not* INSERT or REPLACE
-
[解決済み] 別のテーブルに一致する項目がない行を選択するにはどうすればよいですか?
-
[解決済み] 別のテーブルにないIDを持つレコードを検索するSQLクエリ
-
[解決済み] 他のテーブルと結合していない行を除外するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[エラー処理] [MySQL] [Err] 1241 - オペランドは 1 つのカラムを含む必要があります。
-
SQL-初心者のためのベスト入門SQLクエリ I
-
[解決済み] SQLサーバーでNULL = NULLがfalseに評価される理由
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] UNIONとUNION ALLの違いは何ですか?
-
[解決済み] 各グループの最後のレコードを取得する - MySQL
-
[解決済み] SQL Serverで、指定したテーブルを参照しているすべての外部キーを一覧表示するにはどうすればよいですか?
-
[解決済み] SQL ServerにおけるINSERT OR UPDATEに関する解決策
-
[解決済み] "ON UPDATE CASCADE "を使用する場合について