Join Bill Weinman for an in-depth discussion in this video Sorting with ORDER BY, part of SQL Essential Training.
If you've been following the lessons in sequence, you've seen me use the order by clause to sort the results of queries. Here's how it works. We're going to use the world.db database for this lesson. I'm just going to start by selecting name from the country table. And there's our 239 rows. And you'll notice that they're not in any particular order. They look like they're kind of alphabetical but you have these anomalies, and it may even be in a different order on your computer. It's not in any order.
It's just in the order that the database engine took it out of the table. So if I want it in order of country, I can simply say order by name. Cause the column is actually called name. So I can say order by name like that and now they're sorted. Now we have all the As and all the Bs and it looks all very nice and tidy. If I want them in descending order by name, I simply put the DESC modifier in the order by clause, after the word name like that, and now the order by name in descending orders.
So now we have the Zs first and then the Ys and the Ws. There don't seem to be any Xs. There's also a key word for ascending order, even though it's not normally used. ASC, the default order is ascending. And so, it's not normally used, but it is there in case you want to be extra clear. If I want to also include continent, I can say name, continent in the select and I can order by continent like this.
I will have to spell it correctly. There we go. And now we have, name and continent. But you'll notice that, within a continent, that the country names are no longer in order. So, we can say, order by continent and common name. And now within each continent, they'll be sorted by name. So, now within the continent of Africa, we have all of those in order, and if I scroll down here to Antarctica, we have those in order within Antarctica.
So, we're ordering by continent, and then within the continent by name. I can also do even more complex sorting. I can add region, and I can say order by continent, region and name. And I could even just make the continent descending but region and name will still be ascending. So I can do that. And now it starts with the continent of South America. And within that all of those are South America. But if we look at Oceania within Oceania we have the region Australia, New Zealand, and then Melanesia.
And within each of those, the actual countries are in alphabetical order. So, this is really simple, you can have descending modifiers and ascending modifiers within your list. And you simply list the columns that you want it sorted by, the order by clause is very simple, it's used to sort the results of your queries, you can sort on multiple columns, and you can choose ascending and descending coalitions according to your requirements.
- Understanding SQL terminology and syntax
- Creating new tables and records
- Inserting and updating data
- Writing basic SQL queries
- Sorting and filtering
- Accessing related tables with JOIN
- Working with strings
- Finding the numeric type of a value
- Using aggregate functions and transactions
- Updating a table with triggers
- Creating views
Skill Level Beginner
Q: For Mac OS X: When I try to start the Apache Web Server from the XAMPP control panel, it doesn't start, and when I open "localhost" in my web browser, I see a white screen that says "It Works!" instead of the XAMPP page.
sudo apachectl stop
Q: I'm on a Mac, and I get an error in SID that says "attempt to write a read only database." How can I fix this?
A: This usually means that the database folder does not have sufficient permissions for writing by the web user. This can happen if you create the SQL folder new, rather than copying it from the Exercise Files. Here's how to fix this:
- Open a Finder window and Navigate to /Applications/XAMPP/htdocs/SQL
- Control-click on the SQL folder and select "Get Info" from the context menu.
- Under "Sharing and Permissions" (you may need to open the disclosure triangle), in the "everyone" row, select "Read & Write."Then you can close the Info window.
- Now repeat the process for the three *.db files inside the folder.