none of the 4 example queries should need to access the carts table at all, assuming the index on carts.customer_id exists
as to which one is fastest, i mention on page 100 that they would likely all perform equally well, and direct you to Appendix A
however, in the real world, with real tables, your results may vary, and the advice i give in Appendix A (page 257) is to examine the query execution plans to see whether or how they differ