8.11. サブクエリ


副選択をサポートするデータベースの場合、EJB-QL はクエリ内のサブクエリをサポートします。サブクエリはかっこ (多くの場合、SQL 集約関数コール) で囲む必要があります。相関サブクエリ (外部クエリのエイリアスを参照するサブクエリ) も許可されます。
select fatcat from Cat as fatcat 
where fatcat.weight > ( 
    select avg(cat.weight) from DomesticCat cat 
)
Copy to Clipboard Toggle word wrap
select cat from DomesticCat as cat 
where cat.name = some ( 
    select name.nickName from Name as name 
)
Copy to Clipboard Toggle word wrap
select cat from Cat as cat 
where not exists ( 
    from Cat as mate where mate.mate = cat 
)
Copy to Clipboard Toggle word wrap
select cat from DomesticCat as cat 
where cat.name not in ( 
    select name.nickName from Name as name 
)
Copy to Clipboard Toggle word wrap
選択リストに複数の式があるサブクエリの場合は、タプルコンストラクタを使用できます。
select cat from Cat as cat 
where not ( cat.name, cat.color ) in ( 
    select cat.name, cat.color from DomesticCat cat 
)
Copy to Clipboard Toggle word wrap
一部のデータベース (Oracle または HSQLDB ではない) では、他のコンテキスト (たとえば、コンポーネントまたは複合ユーザータイプを問い合わせる場合) でタプルコンストラクタを使用できます。
select cat from Person where name = ('Gavin', 'A', 'King')
Copy to Clipboard Toggle word wrap
これはより詳細な以下のクエリと同じです。
select cat from Person where name.first = 'Gavin' and name.initial = 'A' and name.last = 'King')
Copy to Clipboard Toggle word wrap
このようなことを行いたくない 2 つの理由が考えられます。1 つはデータベースプラットフォーム間で完全に移植可能でないこと、もう 1 つはクエリがマッピングドキュメントのプロパティの順序に依存することです。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat