i was querying the ssis catlog to find out the name of all the packages in the catalog.
There are only 6 packages in the Folder1 project,but the query gives 9 records
1. SELECT P.NAME FROM SSISDB.internal.projects PRJ INNER JOIN
SSISDB.internal.packages P ON
They aren't deleted, that's part of the historical tracking. You likely wanted a query more similar to
SELECT F.name AS FolderName , P.name AS ProjectName , PKG.name AS PackageName FROM ssisdb.catalog.folders AS F INNER JOIN SSISDB.catalog.projects AS P ON P.folder_id = F.folder_id INNER JOIN SSISDB.catalog.packages AS PKG ON PKG.project_id = P.project_id ORDER BY F.name , P.name , PKG.name;
This reflects that Folders contain Projects and Projects contain Packages so that will provide the exact "address" for a given package.