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

SQL IF SELECTクエリがnullの場合、別のクエリを実行します

    SQLのみを使用する簡単な方法がいくつかあります。

    最初のクエリを一時テーブルとして定義し、すべてを結合して、2番目のクエリを一時テーブルの数でフィルタリングします。

    with temp as (select * from t1 where 1=0)
    select * from temp
    union all
    select * from t2 where (select count(*) from  temp) =0
    

    このクエリは、2番目のテーブルのレコードを返します。

    with temp as (select * from t1 )
    select * from temp
    union all
    select * from t2 where (select count(*) from  temp) =0
    

    また、一時クエリに結果がある場合は、一時クエリのみを返します。

    ここでSQLフィドル を使用してテストできます。 。



    1. クレジットカード情報をデータベースに保存するためのベストプラクティス

    2. phpとmySQLを使用して簡単なサイト検索を実装するにはどうすればよいですか?

    3. MySQLで外部キー制約を一時的に無効にするにはどうすればよいですか?

    4. 私の11gオプティマイザー統計ジョブが終了しました–修正済み