Could someone please explain this SQL to me, I'm trying to edit code but I don't understand this.
This is the whole sql:
SELECT SQL_CACHE COUNT(c.conversation_id) AS num_messages
                FROM table1 AS c
                INNER JOIN (
                    SELECT message_id,conversation_id FROM table2
                    WHERE recipient_id=:userid  ORDER BY created DESC
                ) AS m ON(m.conversation_id=c.conversation_id)
                WHERE (c.initiator_id=:userid OR c.interlocutor_id=:userid)
                AND (c.bm_read & IF(c.initiator_id=:userid, :bminit, :bminter)) = 0
                AND (c.bm_deleted & IF(c.initiator_id=:userid, :bminit, :bminter)) = 0
                GROUP BY c.conversation_id
I don't understand this part:
INNER JOIN  (
             SELECT message_id,conversation_id FROM table2
              WHERE recipient_id=:userid  ORDER BY created DESC
            ) AS m ON(m.conversation_id=c.conversation_id)
            WHERE (c.initiator_id=:userid OR c.interlocutor_id=:userid)
            AND (c.bm_read & IF(c.initiator_id=:userid, :bminit, :bminter)) = 0
            AND (c.bm_deleted & IF(c.initiator_id=:userid, :bminit, :bminter)) = 0
 
     
     
     
    