Оптимизируйте запрос с помощью трехстороннего СОЕДИНЕНИЯ
У меня есть следующий запрос, что предлагает сделать это лучше и как избежать нулевых значений.
SELECT stream.id AS status_id,
members.username,
members.membership_type,
members.first_name,
members.last_name,
stream.member_id,
stream.url_preview,
stream.media,
stream.images,
stream.poll_id,
stream.status_type,
stream.created_at,
stream.activity_text,
stream.original_id,
stream.shared_from
FROM stream, follow, members
WHERE follow.follower_id = 239
AND stream.member_id = members.id
AND (stream.member_id=follow.follower_id OR stream.member_id=follow.member_id)
AND stream.type = 2
AND stream.status_type NOT IN (4, 5, 7, 8, 9, 10, 11)
GROUP BY stream.id
ORDER BY stream.id DESC
LIMIT ' . $offset . ', 10;
+----+-------------+---------+--------+-----------------------+-------------+---------+-------------------------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+---------+--------+-----------------------+-------------+---------+-------------------------+------+-------------+
| 1 | SIMPLE | stream | index | member_id | PRIMARY | 4 | NULL | 1 | Using where |
| 1 | SIMPLE | members | eq_ref | PRIMARY | PRIMARY | 4 | portal.stream.member_id | 1 | |
| 1 | SIMPLE | follow | ref | follower_id,member_id | follower_id | 4 | const | 14 | Using where |
+----+-------------+---------+--------+-----------------------+-------------+---------+-------------------------+------+-------------+
1 ответ
Да, совершенно очевидно, что вы используете старый стиль соединения, но если вам нужно избегать NULL
значение для отображения в данных, тогда вы можете использовать функцию IFNULL(), чтобы избежать NULL.
Пример:-
select ifnull(members.username,'this is null part') as username from table_name;
Этот запрос напечатает нулевую часть, если имя пользователя равно нулю, либо он напечатает только имя пользователя.
Вы можете обратиться ко всему столбцу, когда выбираете данные столбца в своем запросе.
Надеюсь, это поможет вам.