sql语句2个表查询只匹配一次

sql语句2个表查询只匹配一次,第1张

sql多表关联查询跟条件查询大同小异,主要是要知道表与表之前的关系很重要;

举例说明:(某数据库中有3张表分别为:userinfo,dep,sex)

userinfo(用户信息表)表中有三个字段分别为:user_di(用户编号),user_name(用户姓名),user_dep(用户部门) 。(关系说明:userinfo表中的user_dep字段和dep表中的dep_id字段为主外键关系,userinfo表中的user_sex字段和sex表中的sex_id字段为主外键关系)

dep(部门表)表中有两个字段分别为:dep_id(部门编号),dep_name(部门名称)。(主键说明:dep_id为主键)

sex(性别表)表中有两个字段分别为:sex_id(性别编号),sex_name(性别名称)。(主键说明:sex_id为主键)

‍‍一,两张表关键查询

1、在userinfo(用户信息表)中显示每一个用户属于哪一个部门。sql语句为:

select userinfouser_di,userinfouser_name,dep_name from userinfo,dep where userinfouser_dep=depdep_id

2、在userinfo(用户信息表)中显示每一个用户的性别。sql语句为:

select userinfouser_di,userinfouser_name,sexsex_name from userinfo,sex where userinfouser_sex=sexsex_id

二、多张表关键查询

最初查询出来的userinfo(用户信息表)表中部门和性别都是以数字显示出来的,如果要想在一张表中将部门和性别都用汉字显示出来,需要将三张表同时关联查询才能实现。

sql语句为:

select userinfouser_di,userinfouser_name,depdep_name,sexsex_name from userinfo,dep,sex where userinfouser_dep=depdep_id and userinfouser_sex=sexsex_id

(多个条件用and关联)

oracle、db2:

select  from tab where mod(col,10)=1

sqlserver、mysql

select  from tab where col%10=1

where name='"+name+"' and number=''"+pwd+"

你这个name没有指定是那个表的

另外and后需要一个空格

另外+name+中的变量name,+pwd+的变量pwd是哪里来的?

如果依你这句话“邮编1=邮编2”那么地址1=地址2

那么把你的LIKE改了不就行了

或者你的意思是楼上说的,我就不用重复了

update table_name set 邮编1=邮编2 where 地址1 = 地址2;

以上就是关于sql语句2个表查询只匹配一次全部的内容,包括:sql语句2个表查询只匹配一次、SQL语句integer类型字段模糊匹配、SQL数据库中如何从3个表中查询出数据并进行条件匹配union能查询出所有表,但是不能用where指定条件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9853206.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存