SQL查询语句

一,select语句

select :要返回的列或表达式

from :从中检索数据的表

where :行级过滤

group by :分组说明

having :组级过滤

order by :输出排序顺序

limit :要检索的行数

(1)select 子句用于指定输出的字段

(2)from 子句用于指定数据的来源

(3)where 子句用于指定数据的选择条件

(4)group by 子句用于对检索到的记录进行分组

(5)having 子句用于指定组的选择条件

(6)order by 子句用于对查询的结果进行排序

select和from是必须的,其他的是可选的

二,列的选择和指定

选择一个或多个表中 ,的某个或某些列 作为select语句的查询列 

如果查询一个表中 所有列 ,则可在select语句指定列的位置上直接使用 * 通配符,

 select  *  from 表名

若查询列有多个,则各个列名之间需要用逗号进行分隔,查询结果返回时,结果集中各列的次序是依照select语句中指定列的次序给出的

希望查询出来的列的名称显示为自定义的列名可以在select语句中添加 as 子句到指定的列名之后原来修改列名

进行查询时若希望得到对某些列的查询分析结果,而不是原始数据,则可以在select语句中替换这些列,需要用到case表达式

 

使用select语句对列进行查询时,在结果中可以输出对列值计算后的值

 

三,from子句与多表连接查询

通过在  from 子句中指定多个表时,select 操作会使用 “连接” 运算将不同表中需要查询的数据组合到一个结果中,并同样以一个临时表的形式返回。

1.交叉连接

通过在  from 子句中使用关键字  “cross join” 来连接两张表,从而实现一张表的每一行与另一张表的每一行的笛卡尔乘积,并返回两张表的每一行相乘的所有可能搭配结果。

select * from 表1 cross join 表2

 

2.内连接

内连接就是利用条件判断表达式中的比较运算符来 组合两张表中的记录

select  列名

from 表名1

inner join 

       表名2

on  条件判断表达式

列名:用于指定需要检索的列的名称或者别名

表名:用于指定进行内连接的两张表的表名

on:on子句通过事先设定的连接条件来指定两张表按什么条件进行连接,且连接条件中可采用如何一种比较运算符。

 

3.外连接

外连接是首先将连接的两张表分为基表和参考表,然后再以基表为依据返回满足和不满足条件的记录

(1)左外连接

 左外连接,也成左连接,它使用关键字 “left outer join” 或关键字 “left join” 来连接两张表

“left outer join”或“left join”左边表(也称为基表)的所有行,并用这些行与该关键字右边表(也称为参考表)中的行进行匹配,,即匹配左表中的每一行及右表中符合条件的行。

 

 

(2)右外连接

 右外连接,也成右连接,它使用关键字 “right outer join” 或关键字 “right join” 来连接两张表

右外连接是以右表为基表,连接方法与左外连接完全一样

四,where子句与条件查询

select 语句中,可以使用 where 子句指定过滤条件(也称查询条件)

1.比较运算符

比较运算用于比较两个表达式的值。

 

2.判定范围

(1)between...and

当查询条件被限定在值的某个范围时,可以使用关键字 between

(2)in

使用关键字  in  可以指定一个值的枚举列表,该表中会列出所有可能的值

3.判定空值

当需要判定一个表达式的值是否为空时,可以使用关键字  is null

4.子查询

可以使用select语句创建子查询,即可嵌套在其他select查询中的select查询

五,group by子句与分组数据

在select语句中,允许使用 group by 子句,将结果集中的数据行根据选择列的值进行逻辑分组,一边能汇总表内容的子集

 

 

 

 

六,having子句

在select语句中,除了能使用 group by 子句分组数据之外,还可以使用 having 子句来过滤分组

 

having 与 where  的差别

where 子句主要用于过滤  数据行 ,而 having 子句主要用于过滤分组即 having 子句可基于分组的聚合值而不是特定行的值来过滤数据。

having 子句中的条件可以包含聚合函数,而where 子句中则不可以

where 子句会在数据分组前进行过滤,having子句则会在数据分组后进行过滤。因而。where子句排除的行不包含在分组中

七,order by

在select语句中,可以使用 order by子句将结果集中的数据行按一定的顺序进行排列

 

八,limit

limit子句用来限制select语句返回行数

 

转载于:https://www.cnblogs.com/cyq0528/p/10271357.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值