多表查询

基础 专栏收录该内容
34 篇文章 0 订阅

作者:我不是老岑

多表查询,很多的人对多表查询顺序表示疑惑和不解,对,我刚开始的时候也是一样。
对很多的初学者来说,这些东西对他们来说还是比较神秘的。
怎么去多表查询?
怎么去一个一个表的连接起来?
为什么连接起来的效果和想象中的不一样。
每个人的心中都有十万个为什么,为什么我这样连不行,明明我就没有连错,为什么……
其实这只是基础功不扎实罢了,IT中不是true就是false,哪有那么多的为什么?
要想多表查询做的好,就先把表与表之间的关系给搞清楚

在这里插入图片描述在这里插入图片描述
可当看到表的时候,一脸懵,这是什么意思?(个人建议用变量的时候要么就一直用拼音,要么就一直用英语,别到头来,别人看不懂你打的是什么?连你自己都不知道自己打的是什么)
会英语的,这简单,打代码打得多,哦!容易。对于你来说,这简直就是天文。
其实这还是简单的因为就算不懂的人随便找个翻译器,这都能解决。
在这里插入图片描述
最主要的还是表与表之间的联系,这个才是重点,比如这个表,用通俗点的话来说它们就是父子关系的,在父亲和儿子的关系中一层一层的找下去,只要表里有的就肯定能找到。
我就举一个简单的例子,比如:我想找学生表,教师表,公告表,这几个表要怎么找呢?
在这个图中很明显用户表就是父亲,其它的都是它的儿子,孙子辈的。
我们就去数据库里列出这些关系:
在这里插入图片描述
SELECT
FROM PW_User INNER JOIN
PW_Student ON PW_User.UserID = PW_Student.UserID INNER JOIN
PW_Teacher ON PW_User.UserID = PW_Teacher.UserID INNER JOIN
PW_NoticeTable ON PW_User.UserID = PW_NoticeTable.UserID
它自动就帮你们列出关系了,就这样套进去就能完成多表查询了,是不是感觉非常简单?
public ActionResult SelectUser(int UserID)
{
var listClass = (from tbUser in myModel.PW_User
join tbStudent in myModel.PW_Student on tbUser.UserID equals tbStudent.studentID
join tbTeacher in myModel.PW_Teacher on tbUser.UserID equals tbTeacher.TeacherID
join tbNoticeTable in myModel.PW_NoticeTable on tbUser.UserID equals tbNoticeTable.NoticeID

其实这个说难也不难说简单也不简单,很多的人就像是隔着一层膜似的,就是点不透。
很多逻辑性的问题说是说不清楚的,只能靠自己去体会,就是只能意会不可言传的意思。
具体你要怎么用它去干什么where??==??,然后select new{}).ToList();
其实吧!多表查询也没有这么难的,只要把基础搞好一点就OK了。

  • 2
    点赞
  • 1
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值