知らせ! ! ! 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 スイートをインストールするための詳細なチュートリアル
Docker の使用中に、いくつかの問題が発見されました。npm install や bundle ...
1. ネットワークの最適化YSlowには23のルールがあります。これら数十のルールは、主に、不要な...
デスクトップ システムをダウンロードするには、Ubuntu の公式 Web サイト (https:/...
文字化けしたコードの問題は次のとおりです。 この問題の原因は非常に単純です。コマンドラインのエンコー...
Vue プラグインがエラーを報告しました: このページで Vue.js が検出されましたVueプラグ...
1. 継続的デリバリーとは何かソフトウェア製品の出力プロセスは、ソフトウェアがいつでもリリースできる...
質問:私のブログのエンコーディングは utf-8 です。ページを開くと空白になっていることもあります...
最近、CSS3に関する知識や記事をたくさん読んできましたが、CSS3はとても便利に使えると思います。...
目次序文: 1. コンセプト2. モジュール化の利点3. 複数のスクリプトタグを導入した後の問題1....
1. 属性付きHTMLタグXML/HTML コードコンテンツをクリップボードにコピー< htm...
理由は簡単です。 HTML ドキュメントでは、複数の空白文字は 1 つの空白文字と同等です。つまり、...
目次序文クイックレビュー: JavaScript 関数関数とは何ですか?関数を宣言する関数の呼び出し...
取引トランザクションはビジネス ロジックの基本単位です。各トランザクションは一連の SQL ステート...
世論調査の理解実際、ポーリングの焦点はループ自体ではなく、実行間の間隔にあります。 Ajax は非同...
最近、ウェブサイトを開発する際にトップに戻るボタンを作成する必要がありますが、私は主にバックエンドの...