Contrary to popular beliefs, there is also a way of booting the Raspberry Pi without using an SD card at all! All of the previous answers recommended impractical ways, and the same applies to this method, though I hope you find it much more practical than what was previously suggested.

# Method 1: Booting from a MSD (Mass Storage Device ie. USB Flash / Thumb Drive)
btw if someone knows what these are formally called please edit this answer :P

First of all, I'd like to point out that you can boot your Raspberry Pi via a USB. However, this only works if you're using any of the following models (OR if you have an SD Card Reader):

 - Pi 2B v1.2
 - Pi 3A+
 - Pi 3B
 - Pi 3B+

Unfortunately, if you do not have an SD Card Reader **and** your model is not one of the supported ones listed above, you cannot use this method.

If you have a SD Card and a SD Card Reader, then this guide is for you! 

[https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md][1]

# Method 2: Making the computer serve all the files to the Raspberry Pi

For this method, you will not even need an SD card to get your Pi up and running! You will just need to connect the DATA MicroUSB port on your Pi to your computer!

This method will only work for the following Raspberry Pi models:

 - Pi Compute Module
 - Pi Compute Module 3
 - Pi Zero
 - Pi Zero W
 - Pi A
 - Pi A+
 - Pi 3A+

See this GitHub project if you're interested! [https://github.com/raspberrypi/usbboot][2]

Your computer will serve all the files needed for the Raspberry Pi to boot (make sure you read the "Running your own (not MSD) build" part in `README.md`; that is what you want to do).

 [1]: https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md
 [2]: https://github.com/raspberrypi/usbboot