Чтобы ответить на ваш второй вопрос:
Мне просто нужно было сделать это для некоторых моих собственных аналитических данных:
SELECT users.* ,
(SELECT COUNT( 1 )
FROM books
WHERE user_id = users.id)
AS "Number of Books",
(SELECT COUNT( 1 )
FROM files
WHERE user_id = users.id)
AS "Number of Files"
FROM users
Если вам приходится делать это часто, возможно, вы захотите выяснить, как это сделать, используя несколько объединений, которые более эффективны, чем подзапросы.