admin

SQL搜索重复项

sql

我有一张表可以放动物

  • Lion
  • Tiger
  • Elephant
  • Jaguar
  • List item
  • Cheetah
  • Puma
  • Rhino

我想在此表中插入新动物,但我不会从CSV文件中读取动物名称。

假设我在文件中输入了以下名称

Lion,Tiger,Jaguar

由于这些动物已经在“动物”表中,因此应该是一个SQL查询,以确定该动物是否已存在于表中。

修订1

我想要一个查询,该查询将为我提供表中已经存在的动物的列表。 我不希望查询插入该动物。我只想要重复的动物


阅读 202

收藏
2021-07-01

共1个答案

admin

要仅检查表中是否已有Lion:

select count(*) from animals where name = 'Lion'

您可以使用where子句在一个查询中进行检查和插入:

insert into animals (name) 
select  'Lion'
where not exists 
        (
        select * from animals where name = 'Lion'
        )

为了回应您的评论,请选择一个动物子列表:

select name from animals where name in ('Lion', 'Tiger', 'Jaguar')

对于每个已经存在的动物,这将最多返回3行。

2021-07-01