首页 > 数据库技术 > 详细

MySQL连接表---待补充

时间:2017-11-11 23:37:22      阅读:463      评论:0      收藏:0      [点我收藏+]

一: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 BYGROUP BYHAVING子句中的列别名来引用该列。

  以下查询使用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连接表---待补充

原文:http://www.cnblogs.com/juncaoit/p/7820254.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!