SQL语句学习——alias,连接

来源:互联网 发布:转视频格式软件 编辑:程序博客网 时间:2024/05/22 04:40

签了当当网,5月7号上班。

这几天一直在思考以后的职业规划,是逐渐往产品方面发展还是往技术方面发展,由于对产品的东西实在不太熟悉,目前的打算是逐步往DBA方面发展。首先就是要彻底学习数据库方面的知识。公司用的是LAMP架构,所以在不特别声明的情况下,数据库都是使用MySQL。


alias

在SQL中别名常见的用法有两种,栏位的别名和表格的别名。

例如有这样一张表:


问题:查询各个地点的销售总额,并将地点和总额栏位以别名显示:

SQL语句为:

select a1.store_name Store,sum(a1.sales) "Total Sales"

from store_information a1 

group by a1.store_name;

运行结果为:



可以看出栏位名store_name变为Store,sales变为Total Sales。

连接(join)

先介绍一下连接的概念,其实我开始也不太懂,看了http://www.blogjava.net/chenpengyi/archive/2005/10/17/15747.html 这篇文章之后对MySQL的join有了一个全面的了解。

假设我们有如下两个表格


问题:查询每一区的营业额

SQL语句为:

select a1.region_name Region,sum(a2.sales) "Total Sales"
from geography a1, store_information a2
where a1.store_name = a2.store_name
group by a1.region_name;

运行结果为:



这个比较简单,就不必多说了

3.外部连接

外部连接分为左外连接和右外连接,左连接A,B表的意思就是将表A中连接的记录和表B中连接的字段与表A的连接字段符合连接条件的记录形成记录集的连接。如:select A.name from A left join B on A.id = B.id。

问题:查询每一间店的营业额

我们需要知道每一间店的营业额,而用上面的方法的话会漏掉New York这个店。所以在这样的情况下,我们需要使用外连接。

SQL语句为:

select a1.store_name Region,sum(a2.sales) "Total Sales"
from geography a1
left join store_information a2 on a1.store_name = a2.store_name
group by a1.store_name;

运行结果为:


Oracle的外部链接为:


原创粉丝点击