With the rise of social media on the web, sentiment analysis has become one of the most important areas of study. Today, millions of people share their thoughts, ideas, feelings, and opinions on social media sites like Twitter and Facebook. Sentiment analysis, also called opinion mining, is mostly about classifying and predicting how people feel about a certain target. It involves putting text documents or sentences into groups based on how positive or negative they are about a certain topic. Researchers always find "natural language processing" to be one of the most interesting topics. To solve different problems and improve the accuracy of different applications, it is always helpful to know the exact meaning of what is being said in a conversation. Sentiment analysis uses natural language processing (NLP) and learning models like machine learning and deep learning algorithms to figure out how people feel about the data given. Sentiment analysis looks at sarcasm because sarcasm is a way for people to say how they feel about something without saying it directly. People means the exact opposite of what the sentence says at first glance. Sarcasm is hard to figure out because each sarcastic sentence is different. This paper will talk about what has been done in the field of sarcasm detection, the different techniques used, and the problems that still need to be solved.