select&from
用户信息表中的所有数据
id | device_id | gender | age | university | province |
1 | 2138 | male | 21 | 北京大学 | Beijing |
2 | 3214 | male | 复旦大学 | Shanghai | |
3 | 6543 | female | 20 | 北京大学 | Beijing |
4 | 2315 | female | 23 | 浙江大学 | ZheJiang |
5 | 5432 | male | 25 | 山东大学 | Shandong |
查询表中的所有数据
select *
from user_profile
返回结果:
id | device_id | gender | age | university | province |
1 | 2138 | male | 21 | 北京大学 | Beijing |
2 | 3214 | male | 复旦大学 | Shanghai | |
3 | 6543 | female | 20 | 北京大学 | Beijing |
4 | 2315 | female | 23 | 浙江大学 | Zhejiang |
5 | 5432 | male | 25 | 山东大学 | Shandong |
查询多列数据:用户的设备id对应的性别、年龄和学校的数据
select device_id,gender,age,university
from user_profile
返回结果:
device_id | gender | age | university |
2138 | male | 21 | 北京大学 |
3214 | male | 复旦大学 | |
6543 | female | 20 | 北京大学 |
2315 | female | 23 | 浙江大学 |
5432 | male | 25 | 山东大学 |
查询结果去重:从用户信息表中取出学校的去重数据。
select distinct university
from user_profile
返回结果:
university |
北京大学 |
复旦大学 |
浙江大学 |
山东大学 |
查询结果限制返回行数:查看前2个用户明细设备ID数据
select device_id
from user_profile
limit 2
返回结果:
device_id |
2138 |
3214 |
将查询后的列重新命名:查看前2个用户明细设备ID数据,并将列名改为 'user_infos_example'
select device_id as user_infos_example
from user_profile
limit 2
返回结果:
user_infos_example |
2138 |
3214 |
总结:
- 基础语法
- select 字段名 from 表名称
- 别名语法
- select 字段名 as 别名 from 表名称
- 注意:as可以省略
- 查询多列
- select 字段名1, 字段名2, 字段名3 from 表名称
- 查询所有列
- select * from 表名称
- 数据去重
- select distinct 字段名 from 表名称
- select中的计算字段
- select 字段名,计算字段 from 表名称
- 注意:计算字段中的算式所涉及的 字段名必须是表格中包含的,或者算式本身可以独立运算
where
筛选出所有北京大学的学生
select device_id,university
from user_profile
where university='北京大学'
返回结果:
device_id | university |
2138 | 北京大学 |
6543 | 北京大学 |
查找年龄大于24岁的用户信息(设备ID、性别、年龄、学校)
select device_id,gender,age,university
from user_profile
where age>24
返回结果:
device_id | gender | age | university |
5432 | male | 25 | 山东大学 |
查找20岁及以上且23岁及以下的用户信息
select device_id,gender,age
from user_profile
where age between 20 and 23
返回结果:
device_id | gender | age |
2138 | male | 21 |
6543 | female | 20 |
2315 | female | 23 |
查看除复旦大学以外的所有用户明细
select device_id,gender,age,university
from user_profile
where university!='复旦大学'
返回结果:
device_id | gender | age | university |
2138 | male | 21 | 北京大学 |
6543 | female | 20 | 北京大学 |
2315 | female | 23 | 浙江大学 |
5432 | male | 25 | 山东大学 |
取出所有年龄值不为空的用户的设备ID,性别,年龄,学校的信息
select device_id,gender,age,university
from user_profile
where age is not null
返回结果:
device_id | gender | age | university |
2138 | male | 21 | 北京大学 |
6543 | female | 20 | 北京大学 |
2315 | female | 23 | 浙江大学 |
5432 | male | 25 | 山东大学 |
user_profile
id | device_id | gender | age | university | gpa |
1 | 2138 | male | 21 | 北京大学 | 3.4 |
2 | 3214 | male | 复旦大学 | 4.0 | |
3 | 6543 | female | 20 | 北京大学 | 3.2 |
4 | 2315 | female | 23 | 浙江大学 | 3.6 |
5 | 5432 | male | 25 | 山东大学 | 3.8 |
找到男性且GPA在3.5以上(不包括3.5)的用户
select device_id,gender,age,university,gpa
from user_profile
where gender='male' and gpa>3.5
学校为北大或GPA在3.7以上(不包括3.7)的用户
select device_id,gender,age,university,gpa
from user_profile
where university='北京大学' or gpa>3.7
学校为北大、复旦和山大的同学
select device_id,gender,age,university,gpa
from user_profile
where university in ('北京大学','复旦大学','山东大学')
gpa在3.5以上(不包括3.5)的山东大学用户 或 gpa在3.8以上(不包括3.8)的复旦大学同学
select device_id,gender,age,university,gpa
from user_profile
where (gpa>3.5 and university='山东大学') or (gpa>3.8 and university='复旦大学')
查看所有大学中带有北京的用户的信息
select device_id,age,university
from user_profile
where university like '%北京%'
%代表一个或多个字符的通配符,_代表仅仅一个字符的通配符
总结:
- 标准语法
- select 字段名
- from 表格名
- where 条件代码
- 运算符查询语法
- select 字段名
- from 表名称
- where 字段名 运算符 值
- 模糊查询语法
- select 字段名
- from 表名称
- where 字段名 like '通配符+字符'
- 使用多条件查询
- select 字段名
- from 表名称
- where 条件代码1 and|or 条件代码2
- 标准语法
- select 字段名
- from 表格名
- where 条件代码
- 运算符查询语法
- select 字段名
- from 表名称
- where 字段名 运算符 值
- 模糊查询语法
- select 字段名
- from 表名称
- where 字段名 like '通配符+字符'
- 使用多条件查询
- select 字段名
- from 表名称
- where 条件代码1 and|or 条件代码2
order by
ORDER BY 子句取一个或多个列的名字,据此对输出进行排序
取出用户信息表中的用户年龄,并按照年龄升序排序
select device_id,age
from user_profile
order by age
返回结果:
device_id | age |
6534 | 20 |
2138 | 21 |
3214 | 23 |
2315 | 23 |
5432 | 25 |
2131 | 28 |
默认order by 为升序排序
先按照gpa升序排序,再按照年龄升序排序
select device_id,gpa,age
from user_profile
order by gpa,age
按照gpa、年龄降序排序
select device_id,gpa,age
from user_profile
order by gpa desc,age desc