ホームページ  >  記事  >  毎日のプログラミング  >  使用法が存在しません

使用法が存在しません

anonymity
anonymityオリジナル
2019-04-26 09:37:0085674ブラウズ

notowned は SQL の構文です。サブクエリとメイン クエリの間でよく使用されます。条件判断に使用されます。条件に基づいてブール値を返し、次の操作の続行方法を決定します。存在しない場合も同様で、存在する場合や存在する場合の反対の場合も同様です。

使用法が存在しません

Not selected は、exists の反対です。したがって、notowned の使用法を理解するには、まず、exists と in: の違いと特徴を理解します。

exists: 何を返すかは不明ですが、結果セットを返すかどうかに重点が置かれています。例:

select name from student where sex = 'm' and mark exists(select 1 from grade where ...)

exists ガイド句が結果セットを返す限り、exists 条件は確立されます。返されるフィールドに注意してください。常に 1 です。「グレードから 2 を選択...」に変更すると、返されるフィールドは 2 になり、この数値は意味がありません。したがって、exists 句は何が返されるかではなく、返される結果セットがあるかどうかを考慮します。

exists と in の最大の違いは、in 句が 1 つのフィールドしか返せないことです。たとえば、次のとおりです。

select name from student where sex = 'm' and mark in (select 1,2,3 from grade where ...)

in 句は 3 つのフィールドを返しますが、これは誤りです。exists 句は許可されます。 , ただし、返されるフィールドは 1 つだけです。1、2、3 の任意の 2 つのフィールドを削除するだけです。

Notowned と not in は、それぞれ、exists と in の反対です。

exists     (sql       返回结果集,为真)

括弧内にある SQL ステートメントの結果に結果があるかどうかに主に依存します。結果がある場合: where 条件は引き続き実行されます。結果がない場合: where 条件は実行されたとみなされます。確立されていない。

not exists   (sql       不返回结果集,为真)

主に、存在しない括弧内の SQL ステートメントに結果があるかどうかによって決まります。結果がない場合: where 条件は引き続き実行されます。結果がある場合: where 条件は実行されないとみなされます。真であります。

存在しない: テスト後、サブクエリとメイン クエリに関連する条件がある場合、これはメイン クエリからサブクエリ データを削除することと同じです。

使用法が存在しません

例:

テスト データ: ID 名

1 1 Zhang San

2 李四

select * from test c where  not exists
(select 1 from test t where t.id= '1' )
--无结果
rree

以上が使用法が存在しませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。