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

Форум MySQL

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

 

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

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

тема: Правильно ли будет такое описание SQL-запроса?
 
 автор: Max Vasin   (17.04.2008 в 22:47)   письмо автору
 
 

Рассмотрим подробнее строку кода
$q= "SELECT Prod.Product, Prod.IDProd, TipProd.NProd, Firma.Firma FROM Prod, TipProd, Firma WHERE (Prod.Category = TipProd.IDP) and (Prod.NFirma=Firma.IDF) LIMIT 0 , 30";
SELECT - Выбирает данные из таблицы. Оператор SELECT является основным методом чтения данных из таблиц баз данных.
Prod.Product, Prod.IDProd, TipProd.NProd, Firma.Firma – определяем какие именно столбцы нудно выбрать из таблицы.
FROM Prod, TipProd, Firma – определяем из каких таблиц нужно производить выборку.
WHERE (Prod.Category = TipProd.IDP) and (Prod.NFirma=Firma.IDF) – указываем условие, по которому будет производится выборка (чтение) из базы.
LIMIT 0 , 30 - Возвращает только указанное количество записей.


Или что-то указано неточно?
----
Regards, Max Vasin.

   
 
 автор: DEM   (17.04.2008 в 23:02)   письмо автору
 
   для: Max Vasin   (17.04.2008 в 22:47)
 

Я бы езе добавил что означает условие "(Prod.Category = TipProd.IDP) and (Prod.NFirma=Firma.IDF)" (Если Prod.Category равна TipProd.IDP и...." и указал,что LIMIT 0 , 30 возвращает первые 30 записей (мало ли, может не поймут)...

   
 
 автор: Max Vasin   (17.04.2008 в 23:18)   письмо автору
 
   для: DEM   (17.04.2008 в 23:02)
 

что LIMIT 0 , 30 возвращает первые 30 записей
может будет лучше так написать - "возвращает только первые 30 записей, если количество записей после выполнения больше 30 "?

Я бы езе добавил что означает условие "(Prod.Category = TipProd.IDP) and (Prod.NFirma=Firma.IDF)" (Если Prod.Category равна TipProd.IDP и...."
это не совсем понял.
может быть Вы имеете в виду так переделать (если у меня
Prod.NFirma - номер_фирмы в таблице Prod,
Firma.IDF - номер фирмы в таблице Firma,
Prod.Category - номер_категории_товара в таблице Prod,
TipProd.IDP - номер_категории_товара в таблице TipProd)
то тогда написать так:
WHERE (Prod.Category = TipProd.IDP) and (Prod.NFirma=Firma.IDF) – (т.е. если номер_фирмы в таблице Prod равен Firma.IDF - номер фирмы в таблице Firma и в тоже время номер_категории_товара в таблице Prod равен номер_категории_товара в таблице TipProd, то считать что запись удовлетворяет условию, в противном случае запись пропускается) - указываем условие, по которому будет производится выборка (чтение) из базы.

----
Regards, Max Vasin.

   
 
 автор: mechanic   (18.04.2008 в 12:50)   письмо автору
 
   для: Max Vasin   (17.04.2008 в 23:18)
 

а еще точнее - "возвращает 30 записей, начиная с нулевой", а то новички часто пишут limit 30,40 в надежде получить записи с 30-й по 40-ю, а когда получают 40 записей, начиная с 30-й, искренне удивляются, что они сделали не так

   
Rambler's Top100
вверх

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