SQL个人学习总结

1.查询数据

查询指定表或查询指定数据库下的指定表

select * from 数据库名.表名

查询指定数据库下的指定表中的指定数据

select 需要查询的数据名称 from 数据库名.表名

如图所示,每次查询时需要从这个框中选择需要查询的数据库。如果不选择,则系统使用默认数据库。如果默认数据库并非现在需要查找的数据库则会报错。

2.对数据进行排序

select 需要查询的数据名称 
from 数据库名.表名
order by 需要排序的数据 desc

order by是按照升序进行排序,desc则是降序,asc也是按升序。这两个单词都需要放在需要查询的数据后面

select first_name,last_name,city
from sales.customers
order by len(first_name)asc

图一为没有使用order by对查询出来的数据进行排序,图二为使用order by,len()函数对名称进行排序的。len()是一个函数,它可以计算出这些数据的长度。asc则是数据按升序进行排序

select first_name,last_name,city
from sales.customers
order by 3,1 asc

可以使用数字代表select后面需要查询的数据

3.限制返回行数

1.Server select Top语句

select top 10 percent first_name,last_name,city
from sales.customers
order by 3,1 asc

添加了percent之后在查询是指查询所有数据的前百分之XX

top指需要查询多少行,percent指百分之多少,查询数据的百分之多少。top 10 with ties拿最后一行的数据去数据库中找相同的数据。

select top 10  first_name,last_name,city
from sales.customers
order by 3,1 asc 

以上两张图片分别为查询所有数据的前几行,以及查询数据的前百分之几

2.Server Offset Fetch

offset和fetch子句是order by子句的选项。他们用于限制查询返回的行数。必须将offset和fetch子句与order by子句一起使用,offset和fetch子句比top子句更适合实现查询分页解决方案

 select product_name,list_price
 from production.products
 order by list_price
 offset 0 rows                      (从第几行开始)
 fetch next 10  rows only           (到第几行结束)

offset指从低几行开始,fetch next指到第几行结束

3.分页查询

select *from production.products
order by product_id
offset (num-1)*pagsize rows
fetch next pagsize rows only

offset(需要查询的页数-1)*需要查询的行数

fetch next需要查询的行数rows only

4.过滤数据

1.Select Distinct子句

select distinct first_name from sales.customers
order by first_name

当需要查询的数据具有多条重复数据,同时你又不需要这些重复的数据时,可以使用distinct对数据进行过滤,distinct需要放在select后面才能起作用。

 

对比以上两张图片,你会发现图片一中的重复的姓名都只剩下一个。

2.where子句

select * from
sales.customers
where state='CA'and city='Campbell'
where后面跟需要过滤的条件,and作用和逗号一样

where子句中,指定搜索条件可以过滤的from子句返回的行,where子句仅返回导致搜索条件计算为true的行。搜索条件是逻辑表达式或多个逻辑表达式的组合

3.and查找满足两个条件的行

and是一个逻辑运算符,用于组合两个布尔表达式

select * from
production.products
where list_price<=3000
or list_price>=5000 and model_year=2017

以上代码中及使用了and,也使用了or。大概意思为:我想要查找一个价格在3000到5000之间的品牌,并且产品的创建年份为2017年

4.or查找满足任意一个条件的行

or查找满足任意一个满足条件的行

or与and不同的地方在于,and需要全部满足时才会显示,而or只需要满足一个条件就可以显示出来。and的优先级大于or

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值