Всем доброго времени суток! Я начал изучать php и mysql , много разного видео смотрел , то так и не нашел ответа, подскажите пожалуйста если не сложно, у меня есть база данных там 2 таблицы table1 и table2, в table1 поля table1.id и table1.pic_name а во второй table2.id table2.picture_id table2.url к примеру в table1.id есть три айди 1.3.4 а во второй таблице есть 4 записи в table2.picture_id 1,2,3,4 и вот что я хочу и не понимаю как это проверить я хочу взять все select * from table2 потом while и хочу проверить если id из table2 есть в table1 то ничего не трогаем , а если нет то удалить эту строку, в итоге нужно чтоб строка где id 2 в table2 удалилась! Спасибо если поможете
@Sail читал как-то статью на Хабре, там автор расклад давал с тестами и примерами доказывая: по дефолту join выполняет inner join, который по сути и есть left join
Конечно. --- Добавлено --- LEFT JOIN – это из разряда OUTER. И LEFT/RIGHT – обязательные модификаторы, чтобы не получить INNER/CROSS (в мускуле INNER/CROSS – полные эквиваленты).
Можно LEFT JOIN с условием отбора pic_name IS NOT NULL, а можно просто INNER. --- Добавлено --- Условие поиска в любом случае указываете (ON table1.id=table2.picture_id).
Вообще какой-то значимый id картинки из table2 при отсутствии (имени) картинки в table1 – это просто мусор. Лучше сохраняй в table2 NULL или id какой-то дефолтной надписи/картинки (такой id может быть даже равен нулю).