Вопрос о умножении столбцов в SQL

мне было интересно, можно ли умножить два столбца, и если да, то как это произойдет

Предположим у меня есть таблица

a    b
1    4
2    5
3    6

могу ли я сделать что-то вроде

SELECT a *b from table

это умножит строку содержимого на строку, а затем сохранит ее в новом столбце

являются ли эти результаты правильными

4
10
18

3 ответов


этот запрос умножит значения, но он не будет "хранить его в новом столбце", чтобы сохранить его, вам придется выпустить инструкцию update.

предполагая, что вы добавите новый столбец ("c") в свою таблицу, вы можете сделать:

update table 
  set c = a * b

Если все, что вам нужно, это новый столбец в результирующем наборе, без изменения базовой таблицы можно:

select a, b, (a*b) as c from table

Да, вы можете прекрасно сделать это.

обновление

чтобы уточнить: запрос и вывод, которые вы упомянули в своем вопросе, верны.


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

CREATE VIEW MyView
AS
SELECT a, b, 
       a * b AS my_calc
  FROM MyTable;