1. 程式人生 > 資料庫 >(北大青鳥)order by資料庫語句總結

(北大青鳥)order by資料庫語句總結

先建立資料表格(依舊是之前的格式)
create table student(
id char(36) primary key,
name varchar(8) not null,
age int(3) default 0,
mobile char(11),
address varchar(150)
)
insert into student values (‘9b4435ec-372c-456a-b287-e3c5aa23dff4’,‘張三’,24,‘12345678901’,‘北京海淀’);
insert into student values (‘a273ea66-0a42-48d2-a17b-388a2feea244’,‘李%四’,10,‘98765432130’,null);

insert into student values (‘eb0a220a-60ae-47b6-9e6d-a901da9fe355’,‘張李三’,11,‘18338945560’,‘安徽六安’);
insert into student values (‘6ab71673-9502-44ba-8db0-7f625f17a67d’,‘王_五’,28,‘98765432130’,‘北京朝陽區’);
insert into student values (‘0055d61c-eb51-4696-b2da-506e81c3f566’,‘王_五%%’,11,‘13856901237’,‘吉林省長春市寬平區’);
1
2
3
4
5
6
7
8
9
10
11
什麼是order by
order by:對查詢結果進行排序,必須置於SQL語句的最後,
語法:`

order by {column_name1, column_name2, column_name3, …column_namen} [asc|desc]
1、{column_name1, column_name2, column_name3, …column_namen}:指定需要排列的欄位。
2、[asc|desc]:指定排列策略,asc以升序排列,desc以降序排列,預設以升序排列。不同資料型別,升序的含義如下:
a、數字型別:小值在前面顯示;
b、日期型別:早的日期在前面顯示;

c、字元型別:依據字母順序顯示,a在前,z最後;

select * from student order by age;#按照age升序排列,系統預設就是此方法
執行結果:在這裡插入圖片描述

select * from student order by age desc;#按照age升序排
在這裡插入圖片描述
在order by 子句中,不僅可以使用欄位,還可以使用欄位別名進行排序,例如:

select id,name,age as stu_age,mobile,address from student order by stu_age;
執行結果:在這裡插入圖片描述

多重排序
也稱多列排序,即先以一個欄位對查詢結果進行排序,然後在這個排序的基礎上再對另一個欄位進行排序,最終顯示經多次排序後的查詢結果;

select * from student order by age desc,mobile asc;
執行結果:
在這裡插入圖片描述