SQLite3 中找出同时存在于两张表中的记录,并写入新的表中,SQL语句要怎样写呢?

watergood 发布于 02/08 15:43
阅读 87
收藏 0

数据库 words 中有两张表: gradedwords 和 classedwords;
表 gradedwords 中有两列:word 和 grade;
表 classedwords 中有两列: word 和 class;
然后我新建了一个表 gradedandclassedwords,表中有三列:
word, grade 和 class;

现在我要查找出同时存在于表 gradedwords 和表 classedwords 中的 word,写入表 gradedandclassedwords 中,并匹配相应的 grade 和 class。

这个查询和插入的SQL语句要怎样写呢?

我参考下面的资料:
http://stackoverflow.com/questions/1430562/sql-selecting-rows-that-are-in-both-tables

写了如下语句:

insert into gradedandclassedwords (word)
select word from gradedwords intersect select word from classedwords;

但是这样只能插入 word,相应的 grade 和 class 要怎样写才能在一个语句里插入呢?

 

加载中
0
watergood
watergood

山水娱乐棋牌_[官网入口]找到答案了。需要用到 insert into select with join
 

insert into gradedandclassedwords
select gradedwords.word, gradedwords.grade, classedwords.class
from gradedwords
left join classedwords
on gradedwords.word = classedwords.word;

参考资料:

  • http://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/

  • http://www.w3resource.com/sqlite/sqlite-left-join.php
     

返回顶部
顶部

页面底部区域 foot.htm