MySQL 怎样通过相同字段,查询另一个表中的数据。
答案:5 悬赏:80
解决时间 2021-03-14 06:24
- 提问者网友:故事与他
- 2021-03-13 15:02
比如A表中和B表中都有一个名字的字段,怎么通过B标中的名字这个条件查寻A表中这个人的性别?
最佳答案
- 二级知识专家网友:年轻没有失败
- 2021-03-13 16:36
1、创建表
create table a (name varchar(20) not null,sex varchar(10));
create table b (name varchar(20) not null,sex varchar(10));
2、插入值
insert into a values('john','male');insert into b values('john','male');
insert into a values('kate','female');insert into b values('kate','female');
3、查询方法1
mysql> select name,sex from a where name in (select name from b where name='john');
+------+------+
| name | sex |
+------+------+
| john | male |
+------+------+
1 row in set (0.00 sec)
4、查询方法2
mysql> select a.name,a.sex from a,b where a.name=b.name and b.name='john';
+------+------+
| name | sex |
+------+------+
| john | male |
+------+------+
1 row in set (0.00 sec)
create table a (name varchar(20) not null,sex varchar(10));
create table b (name varchar(20) not null,sex varchar(10));
2、插入值
insert into a values('john','male');insert into b values('john','male');
insert into a values('kate','female');insert into b values('kate','female');
3、查询方法1
mysql> select name,sex from a where name in (select name from b where name='john');
+------+------+
| name | sex |
+------+------+
| john | male |
+------+------+
1 row in set (0.00 sec)
4、查询方法2
mysql> select a.name,a.sex from a,b where a.name=b.name and b.name='john';
+------+------+
| name | sex |
+------+------+
| john | male |
+------+------+
1 row in set (0.00 sec)
全部回答
- 1楼网友:為→妳鎖鈊
- 2021-03-13 19:46
实现的方法非常多,包括内连接、左连接、右连接、自然连接、非指定连接类型的连接,in关键字子查询、带比较符的子查询、exists关键字子查询、any关键字子查询、all关键字子查询、独立子查询、父子连接子查询等。由于内容繁杂,详细这里无法展开。
下面举例两表通过字段'学号"关联查出张三同学的的各科成绩
表结构如下
students(sid,sname)
scores(sid,cid,grade)
sql查询语句
select a.sid,a.sname,b.cid,b.grade
from students a inner join
scores b on a.sid=b.sid
where a.name='张三';
- 2楼网友:猖狂的痴情人
- 2021-03-13 19:39
SELECt gender FROM A JOIN B ON B.name=A.name='xxx'
话说,这个问题有什么意义呢?为什么不直接从A表的姓名找性别呢?
- 3楼网友:一起来看看吧
- 2021-03-13 18:56
select a.名字,a.性别 from a inner join b on a.名字 = b.名字 where b.名字 = 'xxx'
- 4楼网友:啵啵桃汀
- 2021-03-13 17:56
表A
名字 张飞
性别 公
表B
名字 张飞
外号 猛张飞
已知外号"猛张飞" ,查他的是公母:
SELECt 表A.性别 FROM 表A,表B WHERe 表A.名字=表B.名字 AND 表B.外号="猛张飞";
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯