mysql高级联结-使用表别名和使用联结条件

巴扎黑
巴扎黑原创
2017-05-11 10:51:471112浏览

使用表别名

别名除了用于列名和计算字段外,SQL还允许给表名起别名。这样做有两个主要理由:

1.缩短SQL语句;

2.允许在单条 SELECT 语句中多次使用相同的表。

请看下面的 SELECT 语句。它与前一章的例子中所用的语句基本相同,但改成了使用别名:

输入:

select cust_name,cust_contact from customers as c,order as o,orderitems as oi where c.cust_id o.cust_id and oi.order_num = o.order_num and prod_id = 'TNT2';

分析:可以看到, FROM 子句中3个表全都具有别名。 customers AS c建立 c 作为 customers 的别名,等等。这使得能使用省写的 c 而不是全名 customers 。在此例子中,表别名只用于 WHERE 子句。但是,表别名不仅能用于 WHERE 子句,它还可以用于 SELECT 的列表、 ORDER BY 子句

以及语句的其他部分。

应该注意,表别名只在查询执行中使用。与列别名不一样,表别名不返回到客户机。

使用联结和联结条件

在总结关于联结的内容前,有必要汇总一下关于联结及其使用的某些要点。

1.注意所使用的联结类型。一般我们使用内部联结,但使用外部联结也是有效的。

2.保证使用正确的联结条件,否则将返回不正确的数据。

3.应该总是提供联结条件,否则会得出笛卡儿积。

4.在一个联结中可以包含多个表,甚至对于每个联结可以采用不同的联结类型。虽然这样做是合法的,一般也很有用,但应该在一起测试它们前,分别测试每个联结。这将使故障排除更为简单。

以上就是mysql高级联结-使用表别名和使用联结条件的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。