
Luigi Cinque
1,548 PointsSQL (ORDER BY, WHERE)
We're using the library database again. There's a books table. There's a title, author, genre and first_published column.
Write a query to obtain the first 5 books in the Fantasy genre ordered by the year released. Oldest first. Select all columns.
I WROTE THIS CODE BUT IT SAYS IS MISSING WHERE.
SELECT * FROM books ORDERED BY genre ASC LIMIT 5;
2 Answers

Luigi Cinque
1,548 PointsYes is order by. How can I restrict it?

Matt Paden
2,487 PointsI updated the answer to explain how a WHERE clause helps here and where to include it. Does that make sense?

Luigi Cinque
1,548 PointsI really much appreciate your time and effort in answering my question, you couldn't be more specif. Thanks really much, Mr Paden.
Matt Paden
2,487 PointsMatt Paden
2,487 PointsThat's a valid SQL statement (assuming you mean "ORDER BY" instead of "ORDERED BY"), but in the correct response to the prompt, you'll need to restrict your results to Fantasy books.
WHERE clauses let you pick which rows you want in your result. You define a condition (WHERE genre=“Fantasy”) and only rows that meet this condition get shown.
So adding a where clause to your original query:
SELECT * FROM books WHERE genre = "Fantasy" ORDER BY genre ASC LIMIT 5
In the final answer to the prompt, you’ll want to adjust the ORDER BY statement so it’s “ordered by the year released. Oldest first.”