MySQL連接表---待補充
阿新 • • 發佈:2017-11-12
ima num 包含 from 很難 image scrip 兩個 keyword
一:MySQL別名
1.介紹
使用MySQL別名來提高查詢的可讀性。
MySQL支持兩種別名,稱為列別名和表別名。
有時,列的名稱是一些表達式,使查詢的輸出很難理解。要給列一個描述性名稱,可以使用列別名。
用法:
SELECT
[column_1 | expression] AS descriptive_name
FROM table_name;
要給列添加別名,可以使用AS
關鍵詞後跟別名。 如果別名包含空格,則必須引用以下內容:
SELECT
[column_1 | expression] AS `descriptive name`
FROM table_name;
因為AS
關鍵字是可選的,可以在語句中省略它。
2.列別名
查詢選擇員工的名字和姓氏,並將其組合起來生成全名。 CONCAT_WS
函數用於連接名字和姓氏。
SELECT
CONCAT_WS(‘, ‘, lastName, firstname) AS `Full name`
FROM
employees;
3.子句對別名的使用
在MySQL中,可以使用ORDER BY,GROUP BY和HAVING子句中的列別名來引用該列。
以下查詢使用ORDER BY
子句中的列別名按字母順序排列員工的全名:
SELECT
CONCAT_WS(‘ ‘, lastName, firstname) `Full name`
FROM
employees
ORDER BY
`Full name`;
以下語句查詢總金額大於60000
的訂單。它在GROUP BY
和HAVING
子句中使用列別名。
SELECT
orderNumber `Order no.`,
SUM(priceEach * quantityOrdered) total
FROM
orderdetails
GROUP BY
`Order no.`
HAVING
total > 60000;
4.註意點
請註意,不能在WHERE子句中使用列別名。原因是當MySQL評估求值WHERE
子句時,SELECT
子句中指定的列的值可能尚未確定。
5.表的別名
可以使用別名為表添加不同的名稱。使用AS
關鍵字在表名稱分配別名,如下查詢語句語法:
table_name AS table_alias
兩個表都具有相同的列名稱:customerNumber
。如果不使用表別名來指定是哪個表中的customerNumber
列:
SELECT
customerName,
COUNT(o.orderNumber) total
FROM
customers c
INNER JOIN orders o ON c.customerNumber = o.customerNumber
GROUP BY
customerName
HAVING total >=5
ORDER BY
total DESC;
二:INNER JOIN內連接
1.
三:
四:
MySQL連接表---待補充