Market Order
A market order is designed to execute a buy or sell order at the best available price in the Order Book immediately. i.e. if you initiate a market buy order, the system will match the cheapest sell order in the order book

From the image above, since the market order is designed to be executed immediately, It will immediately buy from the cheapest sell order available (61.6518) which is highlighted. But if you are buying more than the available amount (in this case 0.283 UNO) at that asking price, the system will automatically match your trade with the second cheapest asking price which is 61.9601 for the “extra” amount.
Limit Order
A limit order lets you place a buy or sell order at a specified price determined by you and will only execute when the market price reaches your specified price or better.
Unlike the Market order, with a limit order, you are guaranteed of not getting matched with a worse price than your specified price.
When a limit order is created, the order goes into the order book (and creates liquidity for the market) waiting to be matched with your specified prices, or better, the specified amount of funds is being reserved on your account. You can see it on your account in the “om Orders” column.
Stop Limit Order
A stop-limit order is an order that triggers a limit order when a stop price is reached. i.e., stop-limit order will trigger at a specified price or better after the stop price has been reached. Once the stop price is reached it triggers the creation of a limit order.
It is advisable to always to set your stop price a bit higher than the limit price (for a sell order) and or a bit lower than the limit price (for a buy order)
From the image above, the stop price is set at 60.8, so if the market price hit that price or below (for a buy order) limit order is immediately triggered to buy 10 uno at a limit price of 58.5
Subtypes of limit orders
Good-till-canceled: lasts until the order is completed or canceled
Day: automatically expires if not executed on the day the order was placed. A day ends at 00:00 UTC time.
Good-Till-Date/Time: automatically expires at the specified date and time
Fill-Or-Kill: must be executed immediately in its entirety; otherwise, the entire order will be canceled (i.e., no partial execution of the order is allowed)
Immediate-Or-Cancel: must be executed immediately. Any portion of an IOC order that cannot be filled immediately will be canceled
Scaled