「dave」を検索する場合は、上位3行が表示されます。 'mike'と 'carl'の両方にdaveの親があります。したがって、表示される3行は上位3行になります。どのような種類のクエリでこれを達成できますか?
+----+----------+------------+
| id | parentid| user |
+----+----------+------------+
| 1 | null | dave |
| 2 | 1 | mike |
| 3 | 1 | carl |
| 4 | 2 | rick |
| 5 | 4 | mike |
どのような種類のクエリがこれを実行しますか?ネストされたクエリ?
内部結合では、テーブル名を宣言します。この場合、 'c'と 'p'を使用しましたか?ありがとう、これは素晴らしいです。 – user892134
テーブルにエイリアスを付けます。それはあなたの質問をより明確かつ短くします。そして、私がここでやったように、テーブルに参加することができます。エイリアシングと結合は別々のテクニックですが、しばしば一緒に使用されます。結合は、すべてのレコードをその親に結合するために実行されます。そうすれば、親の名前をフィルタリングしてすべての子を返すことができます。ネストされたクエリでこれを行うことはできますが、それは特にMySQL(ネストされたクエリは嫌です)では遅くなる可能性があります。 – GolezTrol