字段:基本上與列的意思相同,經常互換使用,計算字段是運行時在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算術操作符:+(加)、 ?-(減)、 ?* (乘) 、/(除)