Я хочу запустить SQL, который удовлетворяет следующим требованиям:
Получить users
где много posts
;
, где posts
много comments
;
где ALL * comments
имеет body
содержит "foo".
Так что, если у меня есть следующие данные, возвращаемое users
должно быть [userB]
.
users = [
{
"user_name": "userA",
"posts": [
{
"post_name": "postA",
"comments": [
{
"body": "foo"
},
{
"body": "bar"
}
]
}
]
},
{
"user_name": "userB",
"posts": [
{
"post_name": "postB",
"comments": [
{
"body": "foo"
},
{
"body": "foo"
}
]
}
]
}
]
Я думаю, что могу добиться этого, запустив серию подзапросов.Но я хочу знать, смогу ли я добиться этого с помощью заявления join
.
Поскольку я знаю, что коррелированные подзапросы имеют плохую производительность в большинстве случаев, поэтому я хочу добиться этого с помощью join
или других методов, которые могут улучшить производительность.