Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите разобраться с запросом
 
 автор: zagazz   (31.08.2011 в 06:56)   письмо автору
 
 

Здравствуйте. Имеется поле id (unsigned int) таблицы table, где хранится некий набор чисел.
Необходимо написать запрос, который определит все пропущенные значения (или диапазоны значений) для этого поля.
Я нашел такой ответ, и проверил вроде работает.
Делаете вспомогательную таблицу (vs), заполненную числами от 1 до ... И объединяете с основной

select vs.id from vs left join `table` t using(id) where t.id is null;

Я не понимаю вот это место - t using(id) where t.id is null; По логике сдесь выбирается номера которые не вошли в Table. Что такое - t, что делает using(id), и что означает - t.id is null?

  Ответить  
 
 автор: Valick   (31.08.2011 в 08:57)   письмо автору
 
   для: zagazz   (31.08.2011 в 06:56)
 

`table` t (аналогично `table` as t ) - это алиас имени таблицы `table` просто как бы второе имя таблицы (чаще всего сокращенное имя которое могло бы быть m, z, vasya, noga и тд) принятое в рамках одного запроса, что бы не пришлось писать table.id потому как программисты народ ленивый и написать 4 лишние символа сильно ломает))
where t.id is null - это условие выборки поля id таблицы t (`table`) при котором значение данного поля не существует
using(id) - это тоже что on vs.id = t.id но так как имена полей в обоих таблицах совпадают, то можно (а по мне так и нужно) писать using(id)

и наконец главный вопрос, который сильно настораживает, зачем понадобилось искать пропущенные id?

  Ответить  
 
 автор: zagazz   (31.08.2011 в 20:21)   письмо автору
 
   для: Valick   (31.08.2011 в 08:57)
 

Спасибо! Так вроде всё понятно, но когда встречаешь незнакомые сокращения то быть уверенным трудно. Это тестовое задание.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования