1. 程式人生 > >MySQL連接表---待補充

MySQL連接表---待補充

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 BYHAVING子句中使用列別名。

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連接表---待補充