select * from * inner join * on问题

来源:互联网 发布:云办公软件 编辑:程序博客网 时间:2024/06/09 00:29

自己写程序时,遇到跟数据库之间的查询时,都是用:SELECT * FROM...WHERE...

这次看到别人写的程序中用到“select* from* inner join * on”:

strsql = "SELECT * FROM Item INNER JOIN Product ON Item.Id = Product.Id "

刚开始不是很明白的意思,后来在网上查了才知道,呵呵,总结一下,以免下回忘记了:


INNER JOIN:内连接
内连接:有两种,显式的和隐式的,返回连接表中符合连接条件和查询条件的数据行。(所谓的链接表就是数据库在做查询形成的中间表)。

例如:下面的语句1和语句2的结果是相同的。
语句1:隐式的内连接,没有INNER JOIN,形成的中间表为两个表的笛卡尔积。
SELECT O.ID,ORDER_NUMBER,C.ID,NAME FROM  C, O WHERE C.ID=O.ID;

语句2:显示的内连接,一般称为内连接,有INNER JOIN,形成的中间表为两个表经过ON条件过滤后的笛卡尔积。
SELECT O.ID,ORDER_NUMBER,C.ID,NAME FROM  C INNER JOIN  O ON C.ID=O.ID;


原创粉丝点击