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

すべてのテーブルから行を選択する簡単な方法

    すべてのテーブルの構造が同じである場合は、UNIONを使用できます。 3つのテーブルすべてから一度に行を返すクエリ:

    $check = mysqli_query($con, "SELECT * FROM text WHERE keyword='$string'
                                 UNION
                                 SELECT * FROM sticker WHERE keyword='$string'
                                 UNION
                                 SELECT * FROM image WHERE keyword='$string'");
    

    これにより、既存の3つのクエリと同等の行セットが得られます。特定の行がどのテーブルからのものであるかを判別する方法がないことに注意してください。そのため、たとえば

    を示すためにフィールドを追加することをお勧めします。
    $check = mysqli_query($con, "SELECT *, 'text' AS src FROM text WHERE keyword='$string'
                                 UNION
                                 SELECT *, 'sticker' AS src FROM sticker WHERE keyword='$string'
                                 UNION
                                 SELECT *, 'image' AS src FROM image WHERE keyword='$string'");
    


    1. OracleのCOS()関数

    2. Sinh()がPostgreSQLでどのように機能するか

    3. MySQLのJSON配列を行に変換する

    4. 2つのSQLServerデータベース(スキーマとデータ)を比較するための最良のツールは何ですか?