2017-02-10 18 views
0

Я изучаю SQL из W3Schools SQL УчебникКак запрос SELECT работает с несколькими столбцами без использования запятой между именами столбцов?

При изучении главы псевдонимов SQL я сталкиваюсь следующий запрос:

SELECT CustomerName, Address+', '+City+', '+PostalCode+', '+Country AS Address 
FROM Customers; 

Если вы внимательно наблюдать запрос с получением данных из несколько столбцов, прикрепляет данные из разных столбцов запятой и отображает данные под псевдонимом column name Адрес

Если вы хотите увидеть рабочую демонстрацию, пожалуйста, перейдите к URL

http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_alias_column2&ss=-1 

Когда мы пишем обычный запрос без псевдонима для извлечения данных из различных столбцов таблицы выделят имена столбцов с запятой следующим образом:

Мое сомнение в том, что в запросе SELECT для получения данных из разных столбцов нет запятых, но как они работают?

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

Кто-нибудь, пожалуйста, очистите мои сомнения.

Было бы лучше, если бы кто-то может объяснить мне базы данных MySQL точки зрения, так как я обеспокоен системойбазы данных MySQL только.

Thank you.

+1

Это не будет работать в MySQL, поскольку в MySQL '+' оператор не может использоваться для конкатенации строк. Но в общем случае второе поле является выражением, в котором вы объединяете значения нескольких полей с некоторыми строковыми литералами ('','') – Shadow

+0

«Я изучаю SQL из учебника по SQL-учебникам w3schools» - пожалуйста, не изучайте из w3schools. Кроме того, для того, чтобы MySQL конкатенировать, используйте его 'CONCAT'. 'SELECT CustomerName, CONCAT (Адрес, ',', Город, ',', PostalCode, ',', Country) AS Address'. – Mjh

+0

@Mjh: Что случилось с учебниками w3schools? Я не понимаю, почему многие из них против w3schools !!! Их легко понять, до такой степени и лучше, чем те длительные руководства и другие подобные учебные пособия. – user2839497

ответ

2

Оба являются двумя разными операторами. Анализатор сервера распознает оператор, скажем, или +. И обрабатывает его соответствующим образом. Значение столбца оценивается для обоих из них.

0

пользователь2839497! Вы можете рассматривать это как формулу, как математическую формулу. Итак, так же, как вы можете SELECT COL1 + COL2 AS TOTAL_SALES..., вы также можете присоединить строки в формуле.

BTW, я думаю, я должен добавить, что знак плюса (+) не работает для добавления строк в каждую базу данных. У некоторых есть другие синтаксисы или способы сделать это. (Например, я считаю, что Informix или Oracle используют две трубы (||) для этого)