字段:基本上与列的意思相同,经常互换使用,计算字段是运行时在SELECT语句内创建的,不实际存在于数据库表中。
拼接字段:将值联结到一起构成单个值
SQL中的SELECT语句中可以使用+或||操作符拼接,但mysql中必须用函数concat()
例子:把表中vendors中名字与国家拼接进来,且国家用括号包起来。
select concat(vend_name, '(', vend_country, ')') from vendors order by vend_name; /* concat(vend_name, '(', vend_country, ')') Bear Emporium(USA) Bears R Us(USA) Doll House Inc.(USA) Fun and Games(England) Furball Inc.(USA) Jouets et ours(France) */
SQL中TRIM()函数去两边空格,RTRIM()去右边空格,LTRIM()去左边空格。
使用别名:给计算字段取别名,让客户端引用。用AS关键字赋别名。
select concat(vend_name, '(', vend_country, ')') as vend_title from vendors order by vend_name; /* 输出: vend_title -------------- Bear Emporium(USA) Bears R Us(USA) Doll House Inc.(USA) Fun and Games(England) Furball Inc.(USA) Jouets et ours(France) */
执行算术计算
例子:查物品单价与数量
select prod_id, quantity, item_price from orderitems where order_num =20008; /* prod_id, quantity, item_price RGAN01 5 4.99 BR03 5 11.99 BNBG01 10 3.49 BNBG02 10 3.49 BNBG03 10 3.49 */
例子:查物品单价与数量,且计算物品价值(数量*单价)
SELECT prod_id, quantity, item_price,quantity*item_price AS expanded_price FROM orderitems WHERE order_num =20008; /* prod_id quantity item_price expanded_price RGAN01 5 4.99 24.95 BR03 5 11.99 59.95 BNBG01 10 3.49 34.90 BNBG02 10 3.49 34.90 BNBG03 10 3.49 34.90 */
SQL算术操作符:+(加)、 -(减)、 * (乘) 、/(除)