SELECT LIMFT JOIN与LIMIT

I have a problem putting a limit on the number of rows from my Jokes table.

This is my query working, getting all rows:

SELECT Jokes.ID, Categories.CategoryName, Jokes.CategoryID, Jokes.JokeText 
FROM Jokes 
LEFT JOIN Categories 
ON Jokes.CategoryID = Categories.ID 
ORDER BY Jokes.ID DESC

Would it be something like?

SELECT Jokes.ID, Categories.CategoryName, Jokes.CategoryID, Jokes.JokeText 
FROM (
SELECT * FROM Jokes ORDER BY ID DESC Limit 0,40) 
AS a 
LEFT JOIN Categories 
AS b 
ON a.CategoryID = b.ID

why not using

SELECT Jokes.ID, Categories.CategoryName, Jokes.CategoryID, Jokes.JokeText 
FROM Jokes 
LEFT JOIN Categories 
ON Jokes.CategoryID = Categories.ID 
ORDER BY Jokes.ID DESC
Limit 0,40