четверг, 19 августа 2010 г.

Лишнее

Ну зачем в SQL эти лишние частицы BY?
Почему просто нельзя написать:
SELECT one,sum(total) from table
group one
order one
?
Нафига делать это человекоподобность? Лишние байты в дань традиции :)

6 комментариев:

  1. надо же, никогда таких мыслей в голову не приходило)

    3 лишних байта погоды не сделают, а читать легче. именно благодая такой избыточности человеский мозг воспринимает информацию лучше.

    ОтветитьУдалить
  2. Может быть, но вот пишут SQL-запросы, всеже больше программисты, нежели обычные люди, и они бы правильно все поняли :)

    ОтветитьУдалить
  3. есть такой постулат "код чаще читают, чем пишут")

    а вот кстати ещё момент некрасивый в sql:
    update mytable set var1=value1, var2=value2 здесь всё понятно, имена столбцов и значения стоят рядом. но вот insert into mytable (var1,var2) values (value1,value2) абсолютно нечитаем, если мы вставляем, скажем, в 50 столбцов за раз. очень неудобно.

    ОтветитьУдалить
  4. Не соглашусь, чаше всего insert бывает такого вида insert into mytable (theuser,num_site,isfriend)
    values ($username,$num_stire,$friend)

    И все ясно и понятно ;)

    ОтветитьУдалить
  5. эээээээ ну вот пример из жизни:

    if($page_id==-1){
    $query =
    "INSERT INTO pages " .
    "(parent_id, group_id, host_id, url, redirect301, other_url, title, keywords, description, content, ".
    "template_id, logo_image, preview_image, creation_date, lastmod, changefreq, priority, sequence, isNews, useBorder) " .
    "VALUES ($page_parent_id, $page_group_id, $page_host_id, \"$page_url\", $page_redirect301,\"$page_other_url\", \"$page_title\", ".
    "\"$page_keywords\", \"$page_description\", \"$page_content\", ".
    "$page_template_id, \"$page_logo_image\", \"$page_preview_image\", \"$page_creation_date\", \"$page_lastmod\", \"$page_changefreq\", \"$page_priority\", $page_sequence, $page_isNews, $page_useBorder) ".
    "";
    }else{
    $query =
    "UPDATE pages SET ".
    "parent_id = $page_parent_id, group_id = $page_group_id, host_id = $page_host_id, url = \"$page_url\", redirect301 = $page_redirect301, ".
    "other_url = \"$page_other_url\", " .
    "title = \"$page_title\", keywords = \"$page_keywords\", description = \"$page_description\", content = \"$page_content\", " .
    "template_id = $page_template_id, logo_image = \"$page_logo_image\", preview_image = \"$page_preview_image\", creation_date = \"$page_creation_date\", " .
    "lastmod = \"$page_lastmod\", changefreq = \"$page_changefreq\", priority = \"$page_priority\", sequence = $page_sequence, " .
    "isNews = $page_isNews, useBorder = $page_useBorder " .
    "WHERE id = ".$page_id;
    }

    инсёрт же не читаеццо)

    ОтветитьУдалить
  6. Ну незнай, по мне - так все понятно - переменные названы как поля в таблице :)

    Да и запросы такие - чаще всего генерируемые, а не рукописные. Либо пишутся один раз и на всю жизнь.

    ОтветитьУдалить