自然连接
自然连接,一种特殊的内连接,它要求相连接的两张表的连接依据列必须是相同的字段(与字段名相同,字段属性相同)。在自然连接中两张表的所有名称相同的列都将被比较,并且在结果集中把重复的列去掉,结果集中两张表中名称相同的列仅出现一次。而普通的内连接并不去掉重复的列。(部分数据库不支持自然连接)
语法:SELECT fieldlist FROM table1 NATURAL JOIN table2 [where condition]
内连接
内连接查询是默认的连接类型。内连接基于连接谓词,它将两张表(如A和B)的列组合在一起,产生新的结果表。内连接查询会将A表的每一行和B表的每一行进行比较,并找出满足连接谓词的组合。当连接谓词被满足,A和B中的匹配的行会按列组合(并排组合)成结果集中的一行。
内连接查询操作列出与连接条件匹配的数据库,它使用比较预算符比较被连接列的列值。
内连接分为三种:交叉连接、相等连接、自然连接
外连接
SELECT 字段名称 FROM 表名1 LEFT | RIGHT | FULL [OUTER] JOIN 表名2
ON 表名1.字段名1=表名2.字段名2
怎么样实现多表连接,下面都是干货哦。
多表查询
语法:SELECT fieldlist FROM table1 JOIN table2
ON table1.column1=table2.column2_1 JOIN table3
ON table2.column2_2=table3.column3
[WHERE condition]
简单多表查询
两表连接语法
语法:SELECT fieldlist FROM table1,table2
WHERE table1.column1=table2.colimn2 [and 其他条件]
三表连接语法
语法:SELECT fieldlist FROM table1,table2,table3
WHERE table1.column1=table2.column2_1 and
table2.column2_2=table3.column3 [and 其他条件]
主键表
主键表操作代码:
ZuoEntities db = new ZuoEntities();
public IEnumerable<Catelog> Select()
{
var result = from u in db.Catelog select u;
return result.ToList();
}
外建表操作代码:
ZuoEntities db = new ZuoEntities();
public object Select()
{
var result = (from a in db.Article
join c in db.Catelog
on a.Leibie equals c.ID
select new {a.ID,a.Title,a.Author, a.Data,a.Cont,c.Content }).ToList();
return result;
}
查看详情代码
public object Sel(int id)
{
var result = from a in db.Article where a.ID==id select new { a.Title, a.Cont };
return result.ToList();
}
————————————————