昆明网站建设是什么意思,优化大师安卓版,远程教育网站建设,wordpress 微信缩略图不显示一、数据库设计1、三个数据表长这样其中user表记录用户信息#xff0c;cat主要记录男女性别#xff0c;mete表是用户id和性别id的对应关系2、具体数据如下二、查询目标查询出所有性别为“男”的用户的“姓名”#xff0c;如下记录两种不同形式的查询1、单纯的条件查询SQLcat主要记录男女性别mete表是用户id和性别id的对应关系 2、具体数据如下 二、查询目标 查询出所有性别为“男”的用户的“姓名”如下记录两种不同形式的查询 1、单纯的条件查询 SQL select user.value from user where user.uid in (select mete.uid from mete where mete.cid1) 结果 语句解释 先使用select mete.uid from mete where mete.cid1语句在mete表中查找到所有“男”的uid这里默认我们已经知道cid1代表男性再通过条件查询与上句查询结果进行比对从而显示出user表中的所有男性名字。 2、使用连接查询条件显示所有用户的姓名和对应的性别 SQL select U.value,C.value from mete as M join cat as C on C.cidM.cid join user as U on U.uidM.uid 结果 语句解释使用到了内联查询只输出包含连接条件的数据行从左往右看可以理解为先将mete表与cat表连接通过条件C.cidM.cid形成了一个性别类型匹配的新表新表再和user表连接通过U.uidM.uid 形成了一个姓名匹配的表此时这三张表就联合形成了一个性别类型、名称类型一一对应的表长得是这样 再通过select语句选出了我们想要的姓名和性别对应的表。 注如上是内联查询只输出满足所有条件的数据也可以通过外联查询不对数据过滤只对数据组合的新表 SQL select * from mete as M left join cat as C on C.cidM.cid left join user as U on U.uidM.uid 语句解释在join前加left/right则可以使用外联查询不同的是连接的表组和后输出左表右表中不符合条件的记录如下 转载于:https://www.cnblogs.com/tilv37/p/5199139.html