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

友情システムのSQL構造とクエリ

    使用:

    SELECT f.friend_id
      FROM FRIENDS f
     WHERE f.user_id = $user_id
    UNION
    SELECT t.user_id
      FROM FRIENDS t
     WHERE t.friend_id = $user_id
    

    UNIONを使用する 重複を削除します。 UNION ALL 高速になりますが、重複は削除されません。

    MEMBERSから友達の情報を入手したい場合 テーブル、使用:

    SELECT m.*
      FROM MEMBERS m
      JOIN (SELECT f.friend_id 'user_id'
              FROM FRIENDS f
             WHERE f.user_id = $user_id
            UNION
            SELECT t.user_id
              FROM FRIENDS t
             WHERE t.friend_id = $user_id) x ON x.user_id = m.id
    

    ところで:mysql_escape_string を使用していることを願っています 変数については、SQLインジェクション攻撃のリスクがあります。



    1. MYSQLストアドプロシージャから複数の結果セットを返す

    2. (英語)Oracle Database 19c Pre-BuiltDeveloperVMの使用方法

    3. 間隔値として列名を指定したDATE_ADDの使用

    4. ローカルネットワーク上のMySQLデータベースに接続する