私は以下のようにクエリを持っている:mysql内部結合を理解するには?
users = select * from users where group_id = 1 and track_id = "xxxxxx";
user_ids = [user.id for user in users]
tickets = select * from tickets where group_id = 1 and user_id in (user_ids);
users
とtickets
テーブルすべてがgroup_id
フィールドを持っています。
ユーザインデックステーブルはgroup_id
とtrack_id
フィールドにあります。 チケットのインデックステーブルはgroup_id
とuser_id
フィールドにあります。
2つのSQLを1つにマージしたい。
select * from tickets join users on tickets.user_id = users.id
where tickets.group_id = 1 and users.track_id = "xxxxx";
または
select * from tickets join users on tickets.user_id = users.id
where users.group_id = 1 and users.track_id = "xxxxx";;
それが正しいですか?それは良いですか?私は内部結合の意味はどういうのですか?tickets.group_id
またはusers.group_id
を使うべきですか?違いはなんですか?
mysql inner joinを理解するには?どのように機能するのですか?
ドキュメントから始めることができます。http://dev.mysql.com/doc/refman/5.7/en/join.html – Daerik
@Siyualこれは内部対外部結合と何が関係がありますか? – Barmar
@Barmarそうではありませんが、内側の結合がどのように機能するのかという疑問に答えています。 – Siyual