sql >> データベース >  >> RDS >> Sqlserver

変数を割り当てるときのSETとSELECT?

    この記事から要約した引用:

    1. SETは変数割り当てのANSI規格ですが、SELECTはそうではありません。
    2. SETは一度に1つの変数のみを割り当てることができ、SELECTは一度に複数の割り当てを行うことができます。
    3. クエリから割り当てる場合、SETはスカラー値のみを割り当てることができます。クエリが複数の値/行を返す場合、SETはエラーを発生させます。 SELECTは、値の1つを変数に割り当て、複数の値が返されたという事実を非表示にします(したがって、他の場所で問題が発生した理由がわからない可能性があります。そのトラブルシューティングを楽しんでください)
    4. 値が返されない場合にクエリから割り当てる場合、SETはNULLを割り当てます。ここで、SELECTは割り当てをまったく行いません(したがって、変数は以前の値から変更されません)
    5. 速度の違いに関しては、SETとSELECTの間に直接的な違いはありません。ただし、1回のショットで複数の割り当てを行うSELECTの機能により、SETよりも速度がわずかに向上します。


    1. SQLコマンド

    2. JDK8を使用するMacOSにOracleSQLDeveloper19.1をインストールします。

    3. ストアドプロシージャでテーブルを切り捨てる

    4. MySQLでINDEXとKEYを使用することの違いは何ですか?