SQL:怎样根据一个表种的字段ID 查出 另一个表中的 数据

如图,
例如:两个表中的news_type_id 跟 type_id是对应的, 我想根据NEWS 表中的 news_type_id =1 查出 news_type 表中的 type_name 为透明点评 这条数据,该怎样写查询语句?
我说的再简单直接一点吧,我想 根据 NEWS表中的 news_type_id = 1 查出 news_type表中的 “透明点评” 这条数据,“透明点评”是最后需要查出来的位置数据。

    例如:两个表中的news_type_id 跟 type_id是对应的,根据NEWS 表中的 news_type_id =1 查出 news_type 表中的 type_name

    根据 NEWS表中的 news_type_id = 1 查出 news_type表中的 “透明点评” 这条数据,“透明点评”是最后需要查出来的位置数据。

比如表连接的方式就可以写成:
select n.id,t.type_name,title from news as n inner join news_type as t on n.news_type_id=t.type_id;
只查“透明点评”的数据子查询可以写成:
select * from news where news_type_id=(select type_id from news_type where type_name='透明点评');

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-26
子查询或者表连接

比如表连接的方式就可以写成:
select n.id,t.type_name,title from news as n inner join news_type as t on n.news_type_id=t.type_id;

只查“透明点评”的数据子查询可以写成:
select * from news where news_type_id=(select type_id from news_type where type_name='透明点评');追问

我最终目的是想 通过表1 的 ID 查出 表2中 透明点评 这条数据,你把 “透明点评”放在 where上不合适吧

追答

明白了,上面那句表连接的sql语句就是,上面查询出来的结果就是id,news_type表中的type_name,title,你参考一下,根据需要加上条件就好~

本回答被网友采纳
第2个回答  2013-01-24
select news.id,news.news_type_id,news_type .type_name,news.title
from news
left join news_type on news.news_type_id=news_type .type_id
where news.news_type_id =1
第3个回答  2013-01-24
select news.id,news_type.typename,title from news inner join news_type on news_type.news_type_id=news.id and news .news_type_id=1
第4个回答  2013-01-24
select *
from NEWS n
left join news_type nt on nt.type_id = n.news_type_id
where nt.type_name='透明点评'追问

我最终要根据 表1 的 ID 查出 表2 对应ID 的 type_name 字段,你这样直接把 我需要查的 写出来了,表示不明白

追答

哪不明白?

相似回答