日期:2014-05-16 浏览次数:20475 次
欢迎转载,转载请指明出处http://blog.csdn.net/hncsy403,谢谢
现在我们有这样一个需求
查询所有用户的用户姓名,电话,订单号,已经订单状态,商品所属分类名称
其实我们这些数据来源于两张表
图书表es_product和图书类别表es_sort
我们可以通过表连接实现
select es_product.id,name,price,sortname from es_product,es_sort where es_product.sort_id=es_sort.id and es_sortname='图书'或者
select a.id,a.name,a.price,b.sortname from es_product a,es_sort b where a.sort_id =b.id and b.sortname='图书'
那什么时候用子查询,什么时候用表查询呢
其实子查询并不要求两个表有相关字段,只要得到子查询的结果结果集就可以,用于父查询。
而连接查询,则必须要求两个表有相关的字段。当查询的列来自于多个表时,可以使用表连接查询
其中表连接包括以下连接
非等值连接示例如下;
另外一个需求如下
查询所有用户的电话,姓名,订单号,订购日期以及订单状态
使用这样一个内连接就是错误的,因为
它只是显示了下过订单的用户资料,而没下过订单的就漏掉了