2022年2022年简单SQL查询 .pdf
《2022年2022年简单SQL查询 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年简单SQL查询 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Mysql 查询语言一、为什么需要查询语言? 1.查询出另一种关系,得到我想要的数据和结果. 2.查询出的数据更直观,更简洁二、查询 (检索 )数据的四个问题1.你想得到什么结果? 回答这个问题需要从存储在数据库中的多个表中选择数据列,当然 ,需要知道所有的列名 .一般而言 ,最难的部分是搞清楚所有表,并且找到确实需要查询的列.如果数据库有几百个表和几千个列,问题将更为复杂. 2.已经知道什么 (或者有哪些 (限制 )约束 )? 大部分情况下查询带有多个限制条件.例如 ,只对某一特定日期或者某一部门的销售感兴趣 .查询条件需要转换成标准的布尔表达式(用And 和 or 连接的表达式 ),以帮助
2、理解查询的目的. 3.涉及哪些表 ? 很多查询可能只涉及一个表,所以不需要考虑表的连接例: 如果想得到整个公司的销售总额,而非某一个特定员工的总销售额,所以可能没有任何 (条件 )限制 . 对于较少的表,这个问题很容易.对于数百个表.需要确定究竟需要哪些表.那么表的命名是否准确地反映了内容和目的也是至关重要的. 4.如何连接表 ? 这个问题和数据规范化问题相关,并且是关系数据库的核心.具有相似列的表可以连接. 三、查询的种类根椐查询的表数量:可以分为单表查询与多表查询根椐查询的复杂程序: 可以分为简单查询与复杂查询根椐查询的种类: 可以分为子查询与复杂查询四、单表查询的语法Select *|
3、列列表 from 表名 where 条件 group by 分组 order by 排序 having 分组后条件 五、简单查询与单表查询的具体应用1.查询全部行 (记录 ) 语法 1: select * from 表名 ; / * 代表所有的列语法 2: select 所有的列名显式列出from 表名2.查询部分列 (记录 ) 语法 : select 列名 , 列名 1 from 表名 ; /只需列出你想显示的列名3.去掉重复查询distinct 关键字前面介绍的最基本的查询方式会返回从表格中搜索到的所有行的数据,而不管这些数据是否重复, 这常常不是用户所希望看到的。使用 DISTINCT关
4、键字就能够从返回的结果数据集合中删除重复的行,使返回的结果更简洁。在使用DISTINCT关键字后,如果表中有多个为NULL 的数据,服务器会把这些数据视为相等。语法 : Select distinct 列 1, 列 2 from 表; 注: distinct 必须放在所有的列之前,代表几个列组合不重复, 使用 distinct 会减慢名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 查询速度,数量大的查询更明显4.更改列名的查询语
5、法 : select 列as 别名 from 表名例如 :select stuName 姓名, stuSex 性别 , stuAge 年龄from student; 注 : 更改别名的意义是为了可读性, 别名可以一致在这里顺带提一下表名也可以更改别名,主要的意义用于多表查询时。5.使用计算列查询(这里讲讲mysql的算术运算符(+, - , * , /) 在进行数据查询时,经常需要对查询到的数据进行再次计算处理。T-SQL 允许直接在 SELECT 语句中使用计算列。计算列并不存在于表格所存储的数据中,它是通过对某些列的数据进行演算得来的结果。Select 单价 *数量 as 金额from s
6、tudent; 注: 一般情况下 , 计算列可以取别名。6.MySQL 聚集函数查询 (aggregate function) 1、 有时候需要计算某一个数据集的行数,某一数据栏所有数据的总和时就需要用到聚集函数。常见的聚集函数有:2、 聚集函数应用详解: Count()用法 : 得到行的数量,有几种不同的用法: select count(*) from student; / 返回一张表中的所有行select COUNT(stuSex) from student; /* 返回这张表中这一列的数量,不包含null*/ select COUNT(distinct stuSex) from stud
7、ent; /* 去掉这一列的重复列,再得到数量 */ avg() 用法 : avg 是求一张表中一列的平均值语法select avg(distinct 列名 ) from 表名 ; 注: avg 只对用于数值型的列有意义.对其它类型无意义Max() 用法 : 求某一列的最大值语法 : select max(列名 ) from 表;列名可以是字符串类型或者数字类型,字符串类型比较的是ASCII 码, 数字类型比较的是大小。max() 用法 : 求某一列的最大值语法 : select max(列名 ) from 表;列名可以是字符串类型或者数字类型,字符串类型比较的是ASCII 码, 数字类型比较
8、的是大小。Sum()用法 : 求所有列的数值总和语法 , select sum(列) from 表注: 只适用于数值类型聚集函数返回的是某一个单独的值,而不是象有些sql 语句一样返回多行的记名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 录。7.查询 SELECT 语句返回指定的记录数Select * from table limit offset, rows; 例如 : mysql SELECT * FROM table L
9、IMIT 5,10; / 检索记录行 6-15 /为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:mysql SELECT * FROM table LIMIT 95,-1; / 检索记录行 96-last. /如果只给定一个参数,它表示返回最大的记录行数目:mysql SELECT * FROM table LIMIT 5; /检索前 5 个记录行/换句话说, LIMIT n 等价于 LIMIT 0,n 。8.mysql 条件查询 (where 子句 ) 比较运算符 :比较运算符是用于比较表达式或者值。比较的结果可能是布尔值(1)或者伪值 (0)。 MySQL
10、支持以下的比较运算符:=(等于 ) , (小于 ) (大于 ) =(大于等于 ) != ( 不等于 ) 例如 : select * from student where stuAge 35; /* 查询年龄大于35 岁的*/ 例如 : select * from student where stuName 在中 ; /* 可以用于字符比较*/ 表达式BETWEEN 最小值AND 最大值: BETWEEN运算符是测试在某个范围内是否存在一个数值或者日期值的有用方式。这个运算符接受两个参数最大值和最小值,并测试所提供的值是否在这两个值的范围之内。如果在这个范围之内,运算符就返回一个布尔值真;否则,
11、它就返回一个伪值如果表达式大于或等于并且表达式小于或等于, BETWEEN 返回1,否则返回 0 。mysql select 5 between 5 and 6; mysql select N between M and O; 表达式 NOT BETWEEN AND 与此类似,但是要取否(NOT ) 。GREATEST和 LEAST GREATEST 和 LEAST运算符为判断一组数字或者时间值中最大和最小值提供了一个便捷的途径。你一看名字就知道这两个运算符的作用下面是一个对一组日期使用GREATEST 运算符例子:mysql SELECT GREATEST(20000601, 2000052
12、9, 20000604); 而下面是一个对一组数值使用LEAST运算符的例子:mysql SELECT LEAST(100, 200, 50, -6, -73, 1000); mysql 中的逻辑与操作是and ,逻辑或操作符是or,逻辑非操作符是not mysql SELECT * FROM pet WHERE species = dog AND sex = f; mysql SELECT * FROM pet WHERE species = snake OR species = bird; mysql SELECT * FROM pet WHERE not species = snake
13、; 比较运算符常与逻辑运算符结合在一起使用。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - In 与 Not In 可选值列表模型查询 (Like 与 not like) 模式匹配的格式。SQL的模式匹配允许你使用 “ _”匹配任何单个字符,而“% ”匹配任意数目字符 ( 包括零个字符) 。在 MySQL中,SQL的模式缺省是忽略大小写的。下面显示一些例子。注意在你使用SQL模式时,你不能使用 =或!= ;而使用 LIKE 或
14、NOT LIKE比较操作符。为了找出以“ b”开头的名字:mysql SELECT * FROM pet WHERE name LIKE b%; 为了找出以“ fy ”结尾的名字:mysql SELECT * FROM pet WHERE name LIKE %fy; 为了找出包含一个“w”的名字:mysql SELECT * FROM pet WHERE name LIKE %w%; 为了找出包含正好5 个字符的名字,使用“ _”模式字符:mysql SELECT * FROM pet WHERE name LIKE _; 由 MySQL 提供的模式匹配的其他类型是使用扩展正则表达式。当你对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年简单SQL查询 2022 简单 SQL 查询
限制150内