In a market order, you can only specify how much of an asset you want to trade. Market orders are used when you want your order to be processed as quickly as possible and you are willing to trade at current market prices.
When placing a market buy order, you are matched up with one or more sellers until your order is filled at or around the current market price. As such, market orders may be partially filled at several prices. For instance, if you place a market buy order, you will be matched with the current lowest-priced sell order on the order book. If that order is not large enough to completely fill yours, the next-lowest sell order will be used to fill some more, and so on.
Limit orders allow you to set a maximum price if placing a buy order, or a minimum sale price if placing a sell order. Your order will only be filled at the price you set. Limit orders are used when you want to make sure that you buy or sell an asset at a specific price, and are willing to risk the order not being filled at all.
When placing a limit buy order for example, your order will only be filled if there are matching orders on the order book i.e. someone who wants to sell at the same price, or lower, as the price at which you want to buy.
The order book is a list of all open buy and sell orders. CoinCola Exchange users can place buy or sell orders on an order book for trading pairs like BTC/ETH, BTC/USDT and so on. A matching engine uses the order book to determine which orders can be fulfilled. The order book can be used to get a sense of where demand is for certain prices.