简单的数据查询

查询的基本结构
标准select查询由select子句、from子句、where子句、order by子句组成,其语法如下:
select   [distinct]  {* | column [alias],...}
from  table
[where  condition]
[order  bycolumn]




投影操作是指在sql查询中,使用select子句,选择将对表中的哪些列进行操作,这些列将出现在结果中,其语法形式为:
select  列名列表  from 表名
列名列表几种书写方式:
1、如果选择某个表中的多个列,那么列名之间用逗号分隔开;
2、如果是单列,只需要列出该列的列名即可;
3、如果选择所有的列,可以简单地用*号代替列名列表。
注意:输出的结果的列与我们在select语句中指定的顺序相同



表名前缀
例: select  Professor.Name  from Professor


列别名用AS关键字来提供别名
select 列A AS A,列B AS B  from  表名  AS  T


在sql server 中,可以使用+来执行字符串连接,将同为字符串的两个列连接起来,显示为一列
例如:select  firsName + '' + LastName  from  People


计算列
返回计算列意味着数据不存在于数据库中,但是可以从数据库中的数据构造或者计算得来的。例如,可以组合一个firstname和一个lastname列为一个单列name,单列name的值从两个原始列中得来。
例:从mark(分数)和ifpassed(是否通过)两个列中组合数据,如果考试通过则给出实际分数,如果没有通过则输入为0
select mark*ifpassed As markIfpassed from studentExam




排除重复数据
使用distinct关键字可以过滤重复的行数据
select distinct 列A from 表名


返回限定行数的查询
使用limit关键字
select 列名列表 from 表名 limit a,b      
a表示下标,b表示显示的个数


选择操作
使用where关
键字
select 列名列表 from 表名 where 条件


单条件选择操作
select 列A,列B from 表名 where 列C=值
运算符:
= =! > >=  <  <=



多条件选择操作
用连接关键字 and 或者 or
and:同时满足
or:至少满足其中一个
另外,not关键字也可以用在查询条件中
如:select studentId,mark,comments from studentExam where examId =1 and not ifPassed=1





执行范围测试
用关键字between
语法为:select 列A,列B,from 表名 where 列C between 下限 and 上限
也可以在between前面加上not来排除一个范围





定义集合关系(用关键字in)
可以检测值是否是几个值得一个
1、这个值集合可以是几个常量
select 列A,列B from 表名 where 列C in('value1','value2','value3')
2、可以是完全独立的select查询
select 列A,列B from 表名 where 列C in(select 列D from 表名)
3、in与not一起组合使用,可以查询不在值集合中的数据
select 列A,列B from 表名 where 列C not in('value1','value2','value3')




模糊查询(用关键字like)
可以在行中查找包含某个字或者更复杂的字符模式的数据
select 列A,列B from 表名 where 列C like 模式
模式由字符常量加上通配符组成
通配符
%:包含零个或更多字符的任意字符串(可以用作前缀或后缀)
_: 任何单个字符(可以用作前缀或后缀)
如:select examId,comments from where comments like '%hour%'  包含hour
    select examId,comments from where comments like '%hour'   以hour结尾
    select examId,comments from where comments like 'hour%'   以hour开头
下划线通配符“_”表示匹配任意单个字符,并且可以被用作前缀或后缀。例如,查询教授姓名,要求姓名要以五个字符开始,后面跟一个空格,可以使用如下sql语句
select name from professor where name like '_____ %'
若要查询通配符要进行转义,关键字为escape char
如:select examId,comments from where comments like '%50<escape char>%%',为50%
也可以使用escape关键字来定义一个转义符。可以选择任何字符作为转义符,但是最好选择一个不可能在查询字符串值中出现
select examId,comments from where comments like '%50p%%' escape 'p',为50%











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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值