I've got these tables in my database:
Tourist - this is the first table
Tourist_ID - primary key
name...etc...
EXTRA_CHARGES
Extra_Charge_ID - primary key 
Extra_Charge_Description
Amount
Tourist_Extra_Charges
Tourist_Extra_Charge_ID
Extra_Charge_ID - foreign key
Tourist_ID - foreign key
So here is the example
I've one Tourist with Tourist_ID - 86 . This tourist with id 86 has extra charges with Extra_Charge_ID - 7 and and Extra_charge_ID - 11;
I try to make a query so I can take the name of the Tourist and all the charges in EXTRA_CHARGES table that doesn't belong to this tourist.
Here is the query that I try - but it doesn't return nothing.
SELECT
    Tourist.Name
    , EXTRA_CHARGES.Extra_Charge_Description
    , EXTRA_CHARGES.Amount 
FROM 
    Tourist 
    INNER JOIN TOURIST_EXTRA_CHARGES 
        ON Tourist.Tourist_ID = TOURIST_EXTRA_CHARGES.Tourist_ID 
    INNER JOIN EXTRA_CHARGES 
        ON TOURIST_EXTRA_CHARGES.Extra_Charge_ID = EXTRA_CHARGES.Extra_Charge_ID 
WHERE
    Tourist.Tourist_ID= 86 
    and EXTRA_CHARGES.Extra_Charge_ID NOT IN
    (   SELECT Extra_Charge_ID 
        FROM TOURIST_EXTRA_CHARGES te
        WHERE te.Tourist_ID = 86
    )
I of course can get only the charges with this query
SELECT * FROM EXTRA_CHARGES e
WHERE e.Extra_Charge_ID NOT IN
 (SELECT Extra_Charge_ID from TOURIST_EXTRA_CHARGES te
  WHERE te.Tourist_ID = 86
 )
but I can't find a way to get the name of this tourist
 
     
     
     
     
    