1. SQL / Говнокод #4371

    −186

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    select books.title,subjects.title from books,subjects,subjects_specialty,specialty,chair
    	where (books.subject_id=subjects.id)
    and (subjects.id=subjects_specialty.subject_id)
    and (subjects_specialty.specialty_id=specialty.id)
    and (specialty.chair_id=chair.id)
    and (chair.title='КИИ');

    Мой первый опыт в sql навреняка вам понравится :)

    Запостил: werewolfv, 16 Октября 2010

    Комментарии (33) RSS

    • нет.
      Ответить
    • Ничего необычного: когда в SQL не было JOIN-ов, все так делали.
      Ответить
      • "Выборка из нескольких таблиц так называемый неявный inner join. Неявные объединения таблиц - это синтаксис SQL89. На тот момент в стандарте SQL явные join еще отсутствовали. Синтаксис явных объединений появился в SQL92."

        какими еще байками из 80-х поделишься ?
        Ответить
        • Вообще-то, код не мой - я только разместил замечание о том, что это не говнокод вовсе, а просто SQL-запрос, написанный по старым стандартам.
          Ответить
      • неяный join тоже join
        Ответить
    • Спасибо, пойду учить JOIN-ны :)
      Ответить
      • лучше теорию множеств/реляционную алгебру выучи.
        ты хоть Дейта читал, 'ученик'?
        Ответить
        • Никогда не понимал - почему, чтобы научиться писать SQL-запросы, человеку необходимо прочесть множество оторванных от прикладных задач книг с длинными математическими формулами?
          Ответить
          • мышление доширачника
            Ответить
            • Попробуйте аргументировать свою точку зрения, сударь. Поскольку кидаться словами могут все.
              Ответить
              • да что вы, милейший, именно в говно я и хотел вас макнуть.
                не всем же быть быдлом, в самом деле, надо хоть какое-то разнообразие.
                Ответить
            • а прежде чем торговать на рынке, нужно освоить курс экономики
              Ответить
          • теория множеств это не "длинные формулы", а вполне внятная вещь. После этого Вы будете знать какие можно клевые штуки с множествами проделвать, а так как таблицы это и есть множества записей, то будете решать сложные задачи)
            И еще не маловажно: будете владеть терминологией.

            Никто Вас докторскую не заставляет писать что бы научится гостевые книги писать.
            Ответить
            • совершенно напрасный бисер перед свиньями
              какие еще теории - быдлокодить же надо
              Ответить
              • Успокойтесь, милейший. Право же, не стоит так переживать. Аккуратно вытрите слюну, все поняли, голубчик, что я, по вашему весьма важному для меня мнению, быдло и свинья, а вы весь в белом. Ну, отдыхайте, отдыхайте.
                Ответить
                • уважаемый, вы, верно, что-то путаете: если у вас на мониторе слюни, то они, вероятно, ваши.
                  Ответить
            • Мне известна теория множеств, будьте спокойны. К сожалению, в задачах программирования мы оперируем не понятием абстрактного "множества", а совокупностями записей и правилами их объединения. Более того, часто приходится уходить от сложных запросов и "клевых штук" с множествами для увеличения быстродействия, разбиваю "клевые штуки" на штуки более простые и, увы, неклевые.
              А вот начинающему реляционная алгебра будет казаться оторванной от жизни. Пока в голове у него не будет ясности, как и что он хочет получить, плевать он хотел на понятия и терминологию типа "реляционное отношение" и "реляционное исчисление".
              И да, вроде бы разговор был начат о JOIN'ах.
              Ответить
              • Joinы -- важная вещь. Я говорю Вам как человек, собеседовавший туеву хучу людей.
                Среднестатистический пыхапешник думает что джойны бывают левые и правые.
                некоторые думают что джойн бывает только левый (так и говорят "левый джойн") а что такое "внутреннее объединение" они не знают, и называют его "через запятую и с where" и вообще джойном не считают.

                Вот если бы они смотрели на таблицы как на множества -- каши в голове у них было бы меньше
                Ответить
                • кстати: "Use the Cartesian join to join the column of two tables into one result set, but without correlation between the rows from the tables." из определения "штучки через запятую"

                  когда каша в голове - мозг не поедают
                  Ответить
          • > длинными математическими формулами
            матанофобия гуммунитарная?
            Ответить
    • кстати, в универе нас так и учили. Про жойны молчали как военную тайну хранили
      Ответить
      • Это потому что преподы сами не знают. Похерили нах систему образования. Перподы 95% имбицилы.
        Ответить
      • А меня в универе научили сначала джоинам, а потом я с удивлением узнал, что можно делать так, как автор кода.

        Учил аспирант.
        Ответить
    • и сразу начали писать непривально. А потом такие на собеседованиях говорят что "бывает два вида джойнов -- правый и левый".

      читайте про внешнее и внутренее объединения (inner join, outer join)
      Ответить
      • > "бывает два вида джойнов -- правый и левый"
        ахаха, http://dematom.com/images/2010/01/30/42227-a_ne_pizdishi.jpg
        Ответить
        • реально бывают. Потому что каша в голове у людей.
          потому я считаю что мускуль зря делает декартово произведение всех таблиц, перечисленных через запятую. Часть ли это стандарта или муски -- не зна, но это явно портит мозги.
          Ответить
          • скул сам по себе не очень подходит для работы с бд. Плюс один - как бейсик или паскаль, он похож на натуральный английский
            Ответить
            • > скул сам по себе не очень подходит для работы с бд
              оло?
              Ответить

    Добавить комментарий