创建字段,SQL之妥协~

计算字段

字段 ~和列的意思基本相同,可互换使用,不过数据库-列一般称为列,而术语-字段通常与计算字段一起使用。

计算字段 ~由于数据库中的数据不是应用程序所需要的格式,通常需要对其进行一定的计算才能交付给应用。即直接从数据库检索出转换、计算或格式化过的数据,检索这一过程中完成,而不是在应用中完成。

拼接字段

将多个列拼接起来形成新的字段~

方法:

  • SQL server 中使用 + 进行拼接
  • DB2OraclePostgreSQLSQLite 使用 || 进行拼接
  • MySQL 使用函数 CONCAT() 进行拼接

以MySQL为例,

输入▼

# 从books表中检索author和title这俩列
# 并按拼接字段来输出


SELECT CONCAT(author,' wrote ',title)
FROM books;

输出▼


+-----------------------------------------------------------------------+
| concat(author,' wrote ',title)                                        |
+-----------------------------------------------------------------------+
| Pruitt, et al. wrote Teach Yourself GIMP in 24 Hours                  |
| Michael Morgan wrote Java 2 for Professional Developers               |
| Thomas Down wrote Installing Debian GNU/Linux                         |
| Thomas Schenk wrote Caldera OpenLinux system Administration Unleashed |
+-----------------------------------------------------------------------+

别名-alias

使用别名来表示这个拼接字段,这样客户端就可以引用之了,就像它是一个实际的表列一样。

输入▼

# 从books表中检索author和title这俩列
# 将拼接字段别名称为book_message
# 将别名输出

SELECT CONCAT(author,' wrote ',title) 
       AS book_message
FROM books;

输出▼


+-----------------------------------------------------------------------+
| book_about                                                            |
+-----------------------------------------------------------------------+
| Pruitt, et al. wrote Teach Yourself GIMP in 24 Hours                  |
| Michael Morgan wrote Java 2 for Professional Developers               |
| Thomas Down wrote Installing Debian GNU/Linux                         |
| Thomas Schenk wrote Caldera OpenLinux system Administration Unleashed |
+-----------------------------------------------------------------------+

执行算术计算

对检索出来的数据进行算术计算~

一般的算术操作符有:

  • ×
  • ÷

输入▼

# 从OrderItems表中检索多列
# 并用别名标记expanded_price那个计算字段quantity*price
# 将满足order_num = 20008 的行输出

SELECT  id,
        quantity,
        iTem_price,
        quantity*price AS expanded_price
FROM OrderItems
WHERE order_num = 20008
        

猜你喜欢

转载自blog.csdn.net/hacker_Dem_br/article/details/86501447
今日推荐