Dear Donghee,
It’s true that most Gene names are coming from HGNC for human. In some cases, we have Ensembl genes that are not mapped to any HGNC data so we select another external reference as the Gene name. For example the gene name PLCG2 for ENSG00000197943 is coming from NCBI gene as you can see on this page: https://www.ensembl.org/Homo_sapiens/Gene/Matches?g=ENSG00000197943;r=16:81739097-81962685.
If you are only interested in HGNC symbols then your query is correct and ENSG00000197943 is not mapped to any HGNC data.
If you are interested in Gene Names, you can use the Gene name and source attributes as below:
> library("biomaRt")
> ensembl = useMart("ensembl", dataset = "hsapiens_gene_ensembl")
>
> test1 <- getBM(attributes = c('ensembl_gene_id', 'external_gene_name','external_gene_source'),
+ filters = 'ensembl_gene_id',
+ values = "ENSG00000197943",
+ mart = ensembl)
> test1
ensembl_gene_id external_gene_name external_gene_source
1 ENSG00000197943 PLCG2 NCBI gene
Hope this helps,
Kind Regards,