Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 [2]  Все   Вниз
  Печать  
Автор Тема: выборка по датам из двух таблиц - MySql  (Прочитано 38813 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #30 : 28-11-2007 16:06 » 

Цитата
Кратенькая лекция по SQL-образному мышлению.

SELECT выполняется следующим образом

1. Берутся все таблицы из FROM и строится их декартово произведение
2. Если есть конструкции JOIN, то из полученного декартова произведения убираются все строки, не попадающие в условия ON. (связывание)
3. К оставшимся строкам применяются условия WHERE (базовый горизонтальный фильтр) - убираются все несоответствующие.
4. К оставшимся строкам применяется группировка GROUP BY, вычисляются агрегатные функции COUNT, SUM, MIN, MAX и т.п.
5. К оставшимся строкам применяются условия HEAVING (групповой горизонтальный фильтр) - убираются все несоответствующие.
6. Проводится выборка тех полей, которые требуются для результата (вертикальный фильтр).
7. Определяются значения вычиляемых полей, применяются всякие DISTINCT и т.п..
8. Применяется сортировка ORDER BY.

По этой схеме (в обратном порядке) можно провести анализ желаемого результата - придём к исходным данным, которые нужны для получения результата. По ходу анализа выявляются потребности в подзапросах. Так рождается идея построения запроса. Когда получен окончательный запрос, дающий правильный результат - производится его оптимизация (чтобы он решал задачу, но быстрее и был проще). С опытом анализ происходит интуитивно: достаточно одного взгляда на имеющиеся и требуемые данные, чтобы ответить: 1) возможно ли получить ответ, 2) как примерно это делать.

самое то в FAQ по SQL Улыбаюсь
Записан

Страниц: 1 [2]  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines