知らせ! ! ! uid が (a,b,c,null) に含まれないユーザーから * を選択します。 この SQL は結果を返しません。 not in リストに null が含まれていないようにしてください。 加えて: – 算術演算に null が含まれる場合、算術式の値は null になります。 (例: +、-、*、/ 加算、減算、乗算、除算) – 比較演算に null が含まれる場合、結果は false とみなされます。 (例: >=、<=、<> より大きい、より小さい、等しくない) –集計操作に null が含まれる場合、集計関数は null に設定されます (この状況は、isnull(field,0) などのメソッドを使用することで回避できます)。 count(*)、count(1)、count(0)などを除きます(count(field)がnullの行はカウントされません)。 --not in サブクエリに null 値がある場合、データは返されません。 補足: MySQL in、not in、exists、not exists、null Null はデータの中では不思議な存在であり、比較においても特別な存在です。以下は、in、not in、exists、not exists の判定結果に Null がどのような影響を与えるかを記録し、まとめたものです。 いくつか説明文を作ってみましょう。比較演算子の左側にあるものは左比較演算子と呼ばれ、比較演算子の右側にあるものは右比較演算子と呼ばれます。たとえば、1 in (1,2) の場合、in の左側にある 1 は左比較演算子で、in の右側にある (1,2) は右比較演算子です。 1.in1.1 左比較演算子が null の場合、いずれの場合でも null が返されます。 mysql> (1,2) で null を選択します。 +---------------+ | (1,2) では null | +---------------+ | NULL | +---------------+ セット内の 1 行 (0.00 秒) mysql> (1,2,null) で null を選択します。 +--------------------+ | (1,2,null) では null | +--------------------+ | NULL | +--------------------+ セット内の 1 行 (0.00 秒) 1.2 右比較記号に null が含まれている場合、左比較記号が null でなく、右比較記号に左比較記号が含まれている場合にのみ 1 を返します。それ以外の場合は null を返します。 mysql> (1,2,null) で null を選択します。 +--------------------+ | (1,2,null) では null | +--------------------+ | NULL | +--------------------+ セット内の 1 行 (0.00 秒) mysql> (1,2,null) から 3 を選択します。 +-----------------+ | (1,2,null) 内の 3 | +-----------------+ | NULL | +-----------------+ セット内の 1 行 (0.00 秒) mysql> (1,2,null) から 1 を選択します。 +-----------------+ | (1,2,null) 内の 1 | +-----------------+ | 1 | +-----------------+ セット内の 1 行 (0.00 秒) 2. 含まれていない2.1 左比較演算子が null の場合、いずれの場合でも null が返されます。 mysql> (1,2,null) に含まれない null を選択します。 +------------------------+ | null は (1,2,null) に含まれません | +------------------------+ | NULL | +------------------------+ セット内の 1 行 (0.00 秒) mysql> (1,2) にない null を選択します。 +-------------------+ | (1,2) に null はありません | +-------------------+ | NULL | +-------------------+ セット内の 1 行 (0.00 秒) 2.2 右比較記号に null が含まれている場合、右比較記号に左比較記号が含まれている場合は 0 を返し、それ以外の場合は null を返します。 mysql> (1,2,null) に含まれない 1 を選択します。 +---------------------+ | 1 は (1,2,null) に含まれません | +---------------------+ | 0 | +---------------------+ セット内の 1 行 (0.00 秒) mysql> (2,3,null) に含まれない 1 を選択します。 +---------------------+ | 1 は (2,3,null) に含まれません | +---------------------+ | NULL | +---------------------+ セット内の 1 行 (0.00 秒) 3.存在するサブクエリが null を返す場合、Exists は true と評価されます。 mysql> 存在するものを選択します (null を選択)。 +----------------------+ | 存在する (null を選択) | +----------------------+ | 1 | +----------------------+ セット内の 1 行 (0.00 秒) 4. 存在しない存在しないサブクエリは、null を返す場合は false とみなされます。 mysql> 存在しないものを選択します (null を選択)。 +--------------------------+ | 存在しない (null を選択) | +--------------------------+ | 0 | +--------------------------+ セット内の 1 行 (0.00 秒) 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。 以下もご興味があるかもしれません:
|
>>: Windows に Docker と docker-compose スイートをインストールするための詳細なチュートリアル
この記事の例では、WeChatアプレットの下部ナビゲーションバーコンポーネントの具体的な実装コードを...
目次トリガーとは何かトリガーを作成するMySQL 作成構文のキーワードの説明: 1. MySQL ト...
序文: MySQL では、システムが多くの文字セットをサポートしており、異なる文字セット間にはわずか...
CSS スタイルを使用して表内のフォントを垂直方向に中央揃えする方法は次のとおりです。下図のようなカ...
まず、GB2312、GBK、UTF-8 はすべて文字エンコーディングであることを理解する必要がありま...
ある日、リーダーはメイン ページに iframe を埋め込み、親ページと子ページ間で双方向にメッセー...
本来の意図このツールを作った理由は、コンピューターを使用しているときにいつでも毎日の仕事や生活を記録...
1. Centosイメージを使用してローカルのyumソースをビルドするCentOS をインストール...
今日はdockerを使ってイメージをpullしたのですが、速度が悪くて見れず最後まで待ち続けました。...
目次序文グラフィックドライバーをインストールするCUDAをアンインストールするCUDAをインストール...
序文同社の開発者は、データの更新時に replace into ステートメントを使用していました。不...
目次一般的な圧縮形式: gz .bz2 .xz .zip一般的に使用されるアーカイブは圧縮を必要とす...
LEMP(Linux + Nginx + MySQL + PHP)は、基本的に今日のWeb開発者にと...
現在の環境は次のとおりです。セントロス7.5 docker-ce 18.06.1-ce 1. まずc...
背景コメントに似た機能を開発する場合は、必要に応じてすべてのコメントのサブセットをクエリする必要があ...