数据查询是数据库的核心操作,SQL提供了 select 语句实现查询功能

1、查询指定的列

格式:

select 查询列表,查询列表 from 查询的表名

2、查询全部列(查询的顺序不同)

(1) select 所有的列都列出 from 查询的表名

(2) select * 查询的表名

3、查询经过计算的值(可以是表中的属性列,算术表达式,字符串常量,函数)

select 进行相应的运算方法 from 查询的表名

查询结果的列名,如果查询对应的是基本表列名,结果表该列也是列名,如果是其它表达式,SQL Server则处理为 “ 无列名 ”。

查询表的结果可以指定列名:

select 列(运算表达式)+ 空格(或 as ) +结果表的列名 from 查询的表名

选择表中的若干元组

从行方向查询,关系代数中的选择运算

1、消除重复的行

经过投影运算后,原来不相同的元组可能变成相同了,可以用 distinct 取消重复行,即只保留一行

语法:

select distinct 需要查询的列 from 查询的表名

2、查询满足条件的元组

通过where 子句实现,where(关键字)+ 条件表达式 ,常用的查询条件及谓词,如下表:

查询条件 谓词
比较

=(等于)

>(大于)、>=(大于等于)

<(小于)、<=(小于等于)

!=(不等于)、<>(不等于国际通用的)

!>(不大于)、!<(不小于):

not+ (逻辑非)+ 上述比较运算符

确定范围

not(逻辑非)+ between  起始范围  and  结束范围

(闭区间,包括端点值)  

确定集合

in + 集合(前面的值在这个集合里就是逻辑真)

not in

字符匹配

like + 模式

(查询的表达式与查询的模式相匹配就是真,否则为假)

not like 

空值 is null (不能使用=)、 is not null 
逻辑运算 and (与)、 or (或)、not (非)

 (1)比较查询

语法:(【】代表可省略)

【not】字段表达式 + 比较运算符 +表达式 当运算结果为真时,相应的记录就加入结果集、

例:查询计算机科学系全体学生的姓名

select sname from student where sdept = ' CS '(注意:字符串需要加单引号定界)

例:

查询所有年龄在20岁以下的男同学姓名及其年龄

select sname ,sage from student where sage <20 and ssex = ’ 男 ‘

(注意数值不需要单引号定界,还有单引号定界时注意界内空格)

(3)范围查询:

范围查询指查找属性值在(或不在)指定范围内的元组,具体格式:

【not】beteen exp1 and exp2 (等价于:属性列x>=exp1 and 属性列 x<=exp2)

例:查询年龄在20~23岁(包括20、23)之间的姓名和年龄

select sname, sage from student where beteen 20 and 23

(4)集合查询:

查找属性值属于或不属于指定集合的怨怒。

语法:

字段表达式【not 】in (集合元素列表)

例:查询信息系(‘is’)、数学系(ma)和计算机系(‘cs’)的姓名和性别:

select sname, sex from student where sdept in ( ' is ' , ' ma ' , ' cs ')

查询不是信息系(‘is’)、数学系(ma)和计算机系(‘cs’)的姓名和性别:

select sname, sex from student where sdept  not in ( ' is ' , ' ma ' , ' cs ')

(5)字符匹配查询:

谓词like 可以用来进行字符的匹配查询。

语法:

match_expression 【not】like pattern

作用是查找指定的属性列与pattern相匹配的元组。

pattern ( 模式 )可以是字符串也可以是含有通配符%和 _ ,

其中:

%代表任意长度(长度可以为 0 ) 的字符串。

_ 代表任意单个字符

当字符串包含通配符时,需要使用 escape ' <换码字符> '进行转义(有点类似重新定义 _ )

例子:

查询姓刘学生的姓名、学号和性别

select sname, sno , sex from student where like ' 刘%'

查询两个字,姓刘学生的姓名、学号和性别

select sname, sno , sex from student where like ' 刘_'

查询以 ‘ DB ’ 开头,且倒数第三个字符为 i 的课程的详细情况

查询左右姓刘学生的姓名、学号和性别

select * from course where cname like  ' DB\_%i__'escape ' \ '

换码字符(转意字符)‘ \ ’ ,表明其后面的一个字符是普通字符而不是通配符。换码符可以任意

数据库:数据查询(指定的列、全部列、经过计算的值、消除重复的行、查询满足条件的元组、比较查询、范围查询、集合查询、字符匹配查询)相关推荐

  1. mysql like带字符串_(转)MySQL数据表中带LIKE的字符匹配查询

    MySQL数据表中带LIKE的字符匹配查询 LIKE关键字可以匹配字符串是否相等. 如果字段的值与指定的字符串相匹配,则符合查询条件,该记录将被查询出来. 如果与指定的字符串不匹配,则不符合查询条件. ...

  2. mysql中的字符匹配查询

     1.like的字符匹配 (1)%百分号通配符,匹配任意长度的字符,包括零字符 (2)_下划线通配符,只匹配一个字符 2.正则表达式查询REGEXP 选项 说明 例子 示例 ^ 匹配文本的开始字符 ...

  3. 使用express搭建服务器获取MySQL数据库数据

    一.原始的mysql查询方法 先安装mysql cnpm install mysql --save 引入这个db.js之后,才能对数据库进行查询 进行查询 查询结果如下: 二.ORM 介绍 ORM 全 ...

  4. 达梦数据库恢复到指定时间点

    数据库备份是 DBA 日常最重要的工作内容.备份的主要目的是数据容灾,保证数据的安全性,在数据库发生故障时,通过还原备份集,将数据恢复到可用状态. 如果能将数据库恢复到指定节点,可以有效的避免人多人工 ...

  5. mysql查阅某个日期的语句_mysql查询指定日期时间内的sql语句及原理

    查询指定日期时间内的sql语句的实现原理: 如果是月份就是当前的月减去你要统计的时间,比如要查询数据库中从今天起往前三个月的所有记录. 另外,在数据库设计阶段,要注意时间字段为int(11),保存在数 ...

  6. c mysql查询年月日_mysql查询指定日期时间内的sql语句及原理

    查询指定日期时间内的sql语句的实现原理: 如果是月份就是当前的月减去你要统计的时间,比如要查询数据库中从今天起往前三个月的所有记录. 另外,在数据库设计阶段,要注意时间字段为int(11),保存在数 ...

  7. MySQL 学习笔记(1)— 创建/连接/选择/显示数据库(表) 查询单列(多列/所有列)/查询返回特定的行数 各种排序(单列/多列/降序/组合排序) 过滤数据

    本文是对之前学习 MySQL 的一个总结,使用思维导图的方式将涉及到的知识点罗列出来,一方面作为自己对于知识点的归纳,另一方面也便于日后查询. 在该篇文章中将对 MySQL 的基本使用.检索基本数据. ...

  8. mysql 查询指定字段数据_MySQL使用select语句查询指定表中指定列(字段)的数据

    本文介绍mysql数据库中执行select查询语句,查询指定列的数据,即指定字段的数据. 再来回顾一下sql语句中的select语句的语法: select 语句的基本语法: select from w ...

  9. mysql select 指定列_MySQL使用select语句查询指定表中指定列(字段)的数据

    本文介绍mysql数据库中执行select查询语句,查询指定列的数据,即指定字段的数据. 再来回顾一下sql语句中的select语句的语法: select 语句的基本语法: select from w ...

最新文章

  1. 微服务网关Gateway-PrefixPath讲解
  2. Apache引起的wampserver安装好第二次使用无法启动问题
  3. [剑指offer]面试题34:丑数
  4. jzoj5057-[GDSOI2017模拟4.13]炮塔【网络流,最大权闭合图】
  5. 写给工程师的10条精进原则
  6. [Quatsch]Quantum Or Optics
  7. log4jdbc mysql_[简单]log4jdbc-log4j2配置简记_MySQL
  8. 网约代收垃圾App火了!别笑,垃圾分类下一个就到你了
  9. 关于jsp页面下,重置选择框的数据的操作!
  10. 【网站开发必备】——12款响应式 Lightbox(灯箱)效果插件
  11. i219v微星 驱动_intel英特尔网卡驱动下载-intel英特尔i217/i218/i219系列网卡驱动电脑版 - 极光下载站...
  12. 两个小米路由器mini无线桥接
  13. 数据归档方案(带流程图)
  14. 一切成功源于积累——20140928 认识货币——加元
  15. 四年级计算机教学总结,四年级信息技术教学工作总结
  16. 基于GUI混沌系统图像加密解密
  17. android动态贴纸实现原理,人脸动态贴纸sdk算法详解,人脸动态贴纸功能如何实现...
  18. 注入winlogon
  19. CA—Certificate Authority证书授权中心
  20. 甲方和乙方怎么区别?

热门文章

  1. 考研经验帖——特别说明很适合8月才开始准备的小伙伴
  2. 云会议是什么?如何提升云会议的协同能力?
  3. Docker学习笔记八:删除镜像构建私有Registry
  4. 中国工商银行网上银行B2C在线支付接口说明
  5. win10关闭动态磁贴_磁贴怎么用
  6. IDEA精选插件使用,建议收藏
  7. 【软件应用】word数学公式插件TeXsword安装
  8. 基于java的学生宿舍管理系统(含源文件)
  9. 感觉自己效率太低怎么办?
  10. tecplot常用笔记