sql中select的作用是

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中select的作用是相关的知识,希望对你有一定的参考价值。

sql中select的作用是

作用就是从数据库中检索数据,并将查询结果返回给用户。 

Select语句由select子句(查询内容)、from子句(查询对象)、where子旬(查询条件)、order by子句(排序方式)、group by子句(分组方式)等组成。

计算列出在 FROM 中的所有元素。(FROM 中的每个元素都是一个真正的或者虚拟的表。)如果在 FROM 列表里声明了多过一个元素,那么他们就交叉连接在一起。

如果声明了 WHERE 子句,那么在输出中消除所有不满足条件的行。如果声明了 GROUP BY 子句,输出就分成匹配一个或多个数值的不同组里。如果出现了 HAVING 子句,那么它消除那些不满足给出条件的组。



扩展资料:

DISTINCT 从结果中删除那些重复的行。DISTINCT ON 删除那些匹配所有指定表达式的行。ALL (缺省)将返回所有候选行,包括重复的。

如果给出了 LIMIT 或者 OFFSET 子句,那么 SELECT 语句只返回结果行的一个子集。

如果声明了 FOR UPDATE 或者 FOR SHARE 子句, SELECT 语句对并发的更新锁住选定的行。

你必须有 SELECT 权限用来从表中读取数值。使用 FOR UPDATE FOR SHARE 还要求 UPDATE 权限。

参考技术A SELECT 语句用于从表中选取数据。
结果被存储在一个结果表中(称为结果集)。
http://www.w3school.com.cn/sql/sql_select.asp
参考技术B 从表或视图中检索符合条件的数据。
select后面跟的是数据项列表
参考技术C 楼主您好
查询表中的数据的关键字

sql语句中like的用法详细解析

参考技术A 在SQL结构化查询语言中,LIKE语句有着至关重要的作用。
LIKE语句的语法格式是:select
*
from
表名
where
字段名
like
对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。
假设有一个数据库中有个表table1,在table1中有两个字段,分别是name和sex二者全是字符型数据。现在我们要在姓名字段中查询以“张”字开头的记录,语句如下:
select
*
from
table1
where
name
like
"张*"
如果要查询以“张”结尾的记录,则语句如下:
select
*
from
table1
where
name
like
"*张"
这里用到了通配符“*”,可以说,like语句是和通配符分不开的。下面我们就详细介绍一下通配符。
匹配类型  
模式
举例 及 代表值
说明
多个字符
*
c*c代表cc,cBc,cbc,cabdfec等
它同于DOS命令中的通配符,代表多个字符。
多个字符
%
%c%代表agdcagd等
这种方法在很多程序中要用到,主要是查询包含子串的。
特殊字符
[*]
a[*]a代表a*a
代替*
单字符
?
b?b代表brb,bFb等
同于DOS命令中的?通配符,代表单个字符
单数字
#
k#k代表k1k,k8k,k0k
大致同上,不同的是代只能代表单个数字。
字符范围
-
[a-z]代表a到z的26个字母中任意一个
指定一个范围中任意一个
续上
排除
[!字符]
[!a-z]代表9,0,%,*等
它只代表单个字符
数字排除
[!数字]
[!0-9]代表A,b,C,d等
同上
组合类型
字符[范围类型]字符
cc[!a-d]#代表ccF#等
可以和其它几种方式组合使用
假设表table1中有以下记录:
    name
sex

张小明    

    李明天      

    李a天       女
    王5五       男
    王清五     

下面我们来举例说明一下:
例1,查询name字段中包含有“明”字的。
      select
*
from
table1
where
name
like
'%明%'
例2,查询name字段中以“李”字开头。
      select
*
from
table1
where
name
like
'李*'
例3,查询name字段中含有数字的。
      select
*
from
table1
where
name
like
'%[0-9]%'
例4,查询name字段中含有小写字母的。
      select
*
from
table1
where
name
like
'%[a-z]%'
例5,查询name字段中不含有数字的。
      select
*
from
table1
where
name
like
'%[!0-9]%'
以上例子能列出什么值来显而易见。但在这里,我们着重要说明的是通配符“*”与“%”的区别。
很多朋友会问,为什么我在以上查询时有个别的表示所有字符的时候用"%"而不用“*”?
先看看下面的例子能分别出现什么结果:
  select
*
from
table1
where
name
like
*明*

select
*
from
table1
where
name
like
%明%
大家会看到,前一条语句列出来的是所有的记录,而后一条记录列出来的是name字段中含有“明”的记录,
所以说,当我们作字符型字段包含一个子串的查询时最好采用“%”而不用“*”,用“*”的时候只在开头或者只在结尾时,而不能两端全由“*”代替任意字符的情况下。

以上是关于sql中select的作用是的主要内容,如果未能解决你的问题,请参考以下文章

SQL 视图别名在 H2 SELECT 语句中不起作用

sql中=all和 in的区别

linq to sql select和where的区别

SQL SELECT 字段包含(单词)不起作用

sql中=all是啥意思

简述SELECT语句中的FROM、WHERE以及ORDER BY子句的作用。SQL Server