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

結果が見つからない場合は、クエリ結果に空の行を追加します

    残念ながら選択肢はほとんどありません。

    COUNT、EXISTS 前、UNION 内の EXIST、TOP 句など、常にテーブルに 2 回アクセスする必要があります

    select
        id, category
    from mytable
    where category = @category
    union all --edit, of course it's quicker
    select
        0, ''
    where NOT EXISTS (SELECT * FROM mytable where category = @category)
    

    EXISTS ソリューションは、行が見つかると停止するため、COUNT よりも優れています。 COUNT はすべての行を走査して実際にカウントします



    1. SQL挿入クエリのパフォーマンスを向上させる方法は?

    2. Mysqlは制限付きですべての行を取得します

    3. Hibernate + PostgreSQL:関係が存在しません-SQLエラー:0、SQLState:42P01

    4. MySQLユーザー定義変数のストレージ制限