Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Правила составления запроса 
:(
    Опции темы
Zorak
Дата 19.8.2014, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: 1
Всего: 3



Вопрос чисто теоретический. Собссно: Можно гдето посмотреть (может кто сталкивался с подобным вопросом) правила составления запросов, например:
1. В SELECT если есть функция такаято, значит таких то и таких больше быть не должно
2. В SELECT в разделе HAVING должна обьязательно быть использована функция, которая присутствует в самом SELECT...
3. В INSERT можно использовать исключительно оператор VALUES()
и.т.п.

Т.е. Мне нужна сама логика с как можно полным списком правил и ограничений.

Спасибо большое.


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
ТоляМБА
Дата 19.8.2014, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 10
Всего: 252



http://www.e-reading.ws/bookreader.php/140...nimanie_SQL.pdf

1. Можно в одном Select использовать несколько ф-ий
2. не помню
3. Почему?
Код
Insert into Table1 (Field1, Field2)
Select Field3, Field4
From Table2

PM   Вверх
Zorak
Дата 19.8.2014, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: 1
Всего: 3



ТоляМБА, книга конечно полезная, мне оч понравилось как она написна, за нее спасибо....
но. Те три пункта я написал просто как пример, а мне надо полный список по всем четырем основным видов запросов. Мне в принципе нужна эта информация чтобы самому  не сидеть три дня и не перелистывать все ньюансы составления запросов. Сам СКЮел я знаю не плохо. Просто на работе дали задачу написать парсер SQL запроса и выдать различные ошибки и ворнинги если они есть. Вот. А ситуация такая что ооооочень глубоко я не знаю тогоже SQL, а мне надо учесть буквально ВСЕ!.. посиму и спрашиваю стыкался ли кто нить с подобным ресурсом, где можно былобы просмотреть какие есть исключения или ограничения)


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
baldina
Дата 19.8.2014, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 1
Всего: 101



http://dev.mysql.com/doc/refman/5.7/en/select.html чем не подходит?

Добавлено через 6 минут и 43 секунды
а вообще про mysql лучше всех знает он сам. в исходниках)))
там все не так просто, например
Цитата

If the HAVING clause refers to a column that is ambiguous, a warning occurs. In the following statement, col2 is ambiguous because it is used as both an alias and a column name:

SELECT COUNT(col1) AS col2 FROM t GROUP BY col2 HAVING col2 = 2;

Preference is given to standard SQL behavior, so if a HAVING column name is used both in GROUP BY and as an aliased column in the output column list, preference is given to the column in the GROUP BY column.

PM MAIL   Вверх
baldina
Дата 20.8.2014, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 1
Всего: 101



Цитата(Zorak @  19.8.2014,  23:42 Найти цитируемый пост)
на работе дали задачу написать парсер SQL запроса и выдать различные ошибки и ворнинги если они есть

вряд ли требуется парсер, функционально аналогичный mysql. если есть живая база, проще в mysql выполнить анализ запроса. а для первичной проверки и несложный инструмент пойдет.
PM MAIL   Вверх
Akina
Дата 20.8.2014, 07:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(Zorak @  20.8.2014,  00:42 Найти цитируемый пост)
на работе дали задачу написать парсер SQL запроса и выдать различные ошибки и ворнинги если они есть.

Берёшь справку. Там есть шаблон для любого типа запроса. Проверяешь соответствие запроса шаблону. 
Как вариант - берёшь текст готового парсера (скажем, из исходников MySQL) и адаптируешь под себя.

Цитата(Zorak @  19.8.2014,  22:16 Найти цитируемый пост)
1. В SELECT если есть функция такаято, значит таких то и таких больше быть не должно

Цитата(Zorak @  19.8.2014,  22:16 Найти цитируемый пост)
2. В SELECT в разделе HAVING должна обьязательно быть использована функция, которая присутствует в самом SELECT...

Цитата(Zorak @  19.8.2014,  22:16 Найти цитируемый пост)
3. В INSERT можно использовать исключительно оператор VALUES()

Все три утверждения неверны.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0649 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.