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

MySQLとSplunk-選択して参加

    SELECT * アンチパターンです。 idの場合 使用できる両方のテーブルに存在する唯一の列です:

    SELECT *
    FROM master_biz.legend_asset
    RIGHT JOIN master_custom.custom_app_table_4 
      USING (id);
    

    それ以外の場合は、各列のエイリアスを手動で追加する必要があります:

    SELECT a.ID    AS id
           ,a. ... AS ...
           ,t4.col AS ...  
    FROM master_biz.legend_asset a
    RIGHT JOIN master_custom.custom_app_table_4 t4
      ON a.ID = t4.ID;
    

    注:テーブル名を記述する必要はありません。テーブルエイリアスを使用できます。

    編集:

    USING JOINで使用される列を返します 一度:

    SELECT *
    FROM t1
    JOIN t2
      USING(i);
    
    SELECT *
    FROM t1
    JOIN t2
      ON t1.i = t2.i;
    

    SqlFiddleDemo

    出力:

    ╔════╦════╦═══╗
    ║ i  ║ b  ║ c ║
    ╠════╬════╬═══╣
    ║ 1  ║ 1  ║ 3 ║
    ╚════╩════╩═══╝
    

    ╔════╦════╦════╦═══╗
    ║ i  ║ b  ║ i  ║ c ║
    ╠════╬════╬════╬═══╣
    ║ 1  ║ 1  ║ 1  ║ 3 ║
    ╚════╩════╩════╩═══╝
    



    1. Oracle SQL Developerで外部キーを作成する方法は?

    2. cronジョブで処理する新しいファイルを処理する方法

    3. com.mysql.jdbc.MysqlDataTruncation:データの切り捨て:データが列'column_name'に対して長すぎます

    4. TSQLの関数パラメータの前に「N」を付ける目的は何ですか?