I'm not sure what SQLite supports, but if it does derived tables like tsql..
Here's me setting up your data:
create table TblArticles (pkIndex int, sName varchar(100))
create table TblTags(pkIndex int, sName varchar(100))
create table TblArticlesTagsRel (indArticle int, indTag int)
insert into TblArticles(pkIndex, sName)
values
(1, 'Name1')
, (2, 'Name2')
, (3, 'Name3')
insert into TblTags(pkIndex, sName)
values
(1, 'Science')
, (2, 'Politics')
, (3, 'Fun')
insert into TblArticlesTagsRel(indArticle, indTag)
values
(1, 1)
, (1, 2)
, (2, 1)
, (2, 3)
, (3, 3)
Here's me attempting to solve the issue:
select a.*
from TblArticles a
inner join (
select indArticle, count(indArticle) as 'tagCount'
from TblArticlesTagsRel r
inner join TblTags t on r.indTag = t.pkIndex
where t.sName in ('Politics', 'Science')
group by indArticle
) d on a.pkIndex = d.indArticle
where sName = 'Name1' and tagCount = 2