|
Программирование >> Руководство по sql
Но надежда никогда не покидает стойких приверженцев SQL, которые очень часто спрашивают своих единомышленников по Internet, предусмотрен ли в SQL какой-нибудь метод для подчистки , например, таких результатов: SQL: select title id, authors.au id from authors, titleauthors where authors.au id = titleauthors.au id and titleauthors.title id like~P% order by title id, authors.au id Результат:
Конечно, хорошо бы получить что-нибудь вроде:
Придется вас огорчить: SQL не позволяет легко сформировать отображение подобного вида. Можно лишь порекомендовать вам воспользоваться какой-нибудь программой предварительного форматирования или генератором отчетов и переформатировать эти неудобоваримые результаты. S Нахождение первого входа Сушествует проблема, в основе которой лежит не просто синтаксическая ошибка, - это непонимание возможностей реляционной базы данных. Этот вопрос, подобно другим вопросам, которые рассматриваются в данной главе, мы извлекли из Internet. Если у вас есть таблица с повторяющимся значением в столбцах, то как найти первое вхождение для такого значения. Такая постановка вопроса вызывает определенные сомнения. Во-первых, она предполагает некий встроенный порядок . Во-вторых, первому вхождению для каждого значения как бы присваивается особый статус. Обе эти концепции несвойственны реляционным базам данных. Если оказывается, что вы должны сформировать подобный запрос, то, вероятно, следует начать с более тщательного анализа структуры своей базы данных. Может быть, таблице, о которой идет речь, просто не хватает столбца, в котором можно было бы хранить информацию о том, когда или в какой последовательности вводились данные. Если добавить указанную информацию, то значения можно будет находить одно за другим. Не располагая такой информацией, вы будете вынуждены сделать ряд сомнительных предположений о том, что же это такое - первый . Приложение А Краткое описание синтаксиса SQL, используемого в книге СОГЛАШЕНИЯ ПО СИНТАКСИСУ BIG Ключевые слова (команды) записываются прописными буквами. MlXed Запись из прописных и строчных букв используется для представления ключевых слов, причем их можно вводить либо целиком, либо в сокращенном виде (часть, набранную прописными буквами). little Строчными буквами записываются переменные. {} Фигурные скобки означают, что вы должны выбрать как минимум од- ну заключенную в них опцию. f] Квадратные скобки означают, что выбор одной или нескольких заклю- ченных в них опций необязателен. 0 Круглые скобки обычно являются частью команд (в отличие от фигурных и квадратных скобок, использующихся в качестве синтаксических символов). 1 Вертикальная черта означает, что можно выбрать максимум одну опцию. , Запятая означает, что можно выбрать любое количество опций, разде- ляя их в команде запятыми. Многоточие означает, что последнее действие можно повторить любое количество раз. ФОРМАТИРОВАНИЕ SQL не налагает никаких офаничений на длину сфок и места их переноса. Однако для удобочитаемости все предложения операторов в примерах этого руководства начинаются с новой сфоки. Длинные предложения переносятся на новые строки и соответственно выравниваются. Регистр SELECT имя стол6ца FROM имя таблицы WHERE условия В операторах этой книги ключевые слова (команды) записываются прописными буквами, а идентификаторьГи пользовательские переменные - сфочными. Вы можете набирать команды и идентификаторы как угодно, не обращая внимания на регистр. (Если ключевое слово записано в смещанном регисфе, это означает, что его можно вводить либо целиком, либо использовать сокращенную запись, используя его часть, представленную прописными буквами.) SELECT - это то же самое, что Select или select Регисф, однако не безразличен для идентификаторов. Column name - это не lo же самое, что column name или COLUMN NAME
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |