Naming a compound with more than one functional group is not as straightforward as it is for alkanes, alkyl halides, or alkenes.
For example, how do you name a molecule that contains a nitrile and a ketone?

If these two were separate, we’d name them as a ketone and a nitrile, but how do you name it when the two functional groups are in one compound?

Here is the trick – you need to identify the functional group with the highest priority and add a suffix (ending) of that functional group. The other groups are treated as substituents and added to the name with prefixes:

Let’s break this down to see how it works.
Step 1. Determine the group with a higher priority using the functional group priority table below:

(I did need to dig in the IUPAC Blue Book for quite a while to clarify the priority of functional groups, but also wanted to thank James at MOC for this helpful post.)
This table should be very self-explanatory, and following the strategies will give you the knowledge to name alcohols, aldehydes, nitriles, ketones, esters, carboxylic acids, present in different combinations in complex molecules.
Going back to naming our compound:
The nitrile group stands higher than the ketone; therefore, the parent chain will take the suffix from the nitrile group. In this case, it is the same as the functional group name – nitrile. The longest chain contains six carbons, so the hexane changes to hexanenitrile:
 
Step 2. Treat the ketone as a substituent and remember that those are added with a prefix – oxo.
Step 3. Number the parent chain starting from the highest priority group and add the substituent(s) alphabetically:

It is also noteworthy that if there is a functional group suffix and a substituent, the functional group suffix gets the lowest possible number. For example, alcohols have higher priority than amines, and therefore, when naming a compound containing these two functional groups, the alcohol is designated with a suffix and gets the lower number:

Functional Groups with No Priority
There are some groups that are not considered in the priority list – they are always substituents and get a prefix. In the final name, they are simply placed in alphabetical order.
These are mainly the halides, ethers, and nitro groups.
For example, the following hypothetical compound contains a halogen, an alcohol, an ether, and a carboxylic acid:

The halogen and ether can only be substituents with the corresponding prefixes. The “chloro” prefix will go before “methoxy” simply because of the alphabetical order.
Between the acid and the alcohol, the former gets priority and therefore, the parent chain takes a suffix “oic acid” and the alcohol takes a prefix “hydroxy”:

Below are some more examples of naming compounds with more than one functional group, and also links to practice problems for naming specific functional groups:

- Naming Alkanes by IUPAC Nomenclature Rules Practice Problems
- Nomenclature of Alkyl Halides
- Naming Alkenes by IUPAC Nomenclature Rules
- Naming Alkynes by IUPAC Nomenclature Rules – Practice Problems
- Nomenclature of Alcohols: Naming Alcohols based on IUPAC Rules
- Naming Aromatic Compounds
- Nomenclature of Aldehydes and Ketones
 
					
It’s really easy to understand
I agree, it is so well-explained. The problem is to be able to use this when you don’t have a table with all the prefixes and suffixes.
Agree with that. Nomenclature is one of those things that requires being in a good shape as it is quite easy to forget all the prefixes and suffixes if not practiced regularly.
quite easy to understand 👍
So easy to understand
Simplified like mathematical formulae
What if there are more than two substituent and two of which are to be used as prefix. How do we know which one to wite first (I think by their alphabetical order)