a,b,c,d分别是几个表的别名,别名是你任意取的代号,可以在本条SQL语句中代替 表名,你这个例子中,用a代表customer 表,等等。 where是过滤条件,也可以说是表之间的连接(join)。 order by a.company, orderno是按a.company,ordrno来排序 》》orderno前面一定要有别名的。除非这个字段在四个表中是唯一的。
customer a, orders b, items c, parts d这些都是表名 a.custno是a表中的custno属性,是列名 b.custno是b表中的custno属性,也是列名 因为a表和b表中都有custno属性,所以前面要加表明以示区别 其他以此类推 order by 排序,后面跟着的就是排序条件
我也来说几句吧 select * from customer a, orders b, items c, parts d where a.custno = b.custno and b.orderno = c.orderno and c.partno = d.partno order by a.company, orderno 这是简单的关联查询,customer和orders通过custno字段关联,orders和items通过orderno关联,等等 select * 说明选出这几个表的所有字段,本来应该这样些的 select * from customer, orders, items, parts where customer.custno = orders.custno and orders.orderno = items.orderno and items.partno = parts.partno order by customer.company, items.orderno 但是为了书写方便,给每个表都加上别名(别的名称),就是对应的a,b,c,d,order by是排序,按customer的company字段和items的orderno字段按升序排序
表名,你这个例子中,用a代表customer 表,等等。
where是过滤条件,也可以说是表之间的连接(join)。
order by a.company, orderno是按a.company,ordrno来排序
》》orderno前面一定要有别名的。除非这个字段在四个表中是唯一的。
a.custno是a表中的custno属性,是列名
b.custno是b表中的custno属性,也是列名
因为a表和b表中都有custno属性,所以前面要加表明以示区别
其他以此类推
order by 排序,后面跟着的就是排序条件
select * from customer a, orders b, items c, parts d
where a.custno = b.custno
and b.orderno = c.orderno
and c.partno = d.partno
order by a.company, orderno
这是简单的关联查询,customer和orders通过custno字段关联,orders和items通过orderno关联,等等
select * 说明选出这几个表的所有字段,本来应该这样些的
select * from customer, orders, items, parts
where customer.custno = orders.custno
and orders.orderno = items.orderno
and items.partno = parts.partno
order by customer.company, items.orderno
但是为了书写方便,给每个表都加上别名(别的名称),就是对应的a,b,c,d,order by是排序,按customer的company字段和items的orderno字段按升序排序
UP