Databases Reporting with SQL Ordering, Limiting and Paging Results Limiting Results

SQL (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;
Matt Paden
Matt Paden
2,431 Points

That'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.”

2 Answers

Yes is order by. How can I restrict it?

Matt Paden
Matt Paden
2,431 Points

I updated the answer to explain how a WHERE clause helps here and where to include it. Does that make sense?

I really much appreciate your time and effort in answering my question, you couldn't be more specif. Thanks really much, Mr Paden.