SQL 基础查询和条件查询

select&from

用户信息表中的所有数据

iddevice_idgenderageuniversityprovince
12138male21北京大学Beijing
23214male复旦大学Shanghai
36543female20北京大学Beijing
42315female23浙江大学ZheJiang
55432male25山东大学Shandong

查询表中的所有数据

select *
from user_profile

返回结果:

iddevice_idgenderageuniversityprovince
12138male21北京大学Beijing
23214male复旦大学Shanghai
36543female20北京大学Beijing
42315female23浙江大学Zhejiang
55432male25山东大学Shandong

查询多列数据:用户的设备id对应的性别、年龄和学校的数据

select device_id,gender,age,university
from user_profile

 返回结果:

device_idgenderageuniversity
2138male21北京大学
3214male复旦大学
6543female20北京大学
2315female23浙江大学
5432male25山东大学

查询结果去重:从用户信息表中取出学校的去重数据。

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_iduniversity
2138北京大学
6543北京大学

查找年龄大于24岁的用户信息(设备ID、性别、年龄、学校)

select device_id,gender,age,university
from user_profile
where age>24

返回结果:

device_idgenderageuniversity
5432male25山东大学

查找20岁及以上且23岁及以下的用户信息

select device_id,gender,age
from user_profile
where age between 20 and 23

返回结果:

device_idgenderage
2138male21
6543female20
2315female23

查看除复旦大学以外的所有用户明细

select device_id,gender,age,university
from user_profile
where university!='复旦大学'

返回结果:

device_idgenderageuniversity
2138male21北京大学
6543female20北京大学
2315female23浙江大学
5432male25山东大学

取出所有年龄值不为空的用户的设备ID,性别,年龄,学校的信息

select device_id,gender,age,university
from user_profile
where age is not null 

返回结果: 

device_idgenderageuniversity
2138male21北京大学
6543female20北京大学
2315female23浙江大学
5432male25山东大学

user_profile

iddevice_idgenderageuniversitygpa
12138male21北京大学3.4
23214male复旦大学4.0
36543female20北京大学3.2
42315female23浙江大学3.6
55432male25山东大学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_idage
653420
213821
321423
231523
543225
213128

默认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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值