MySQL之SELECT 语句详解
本文参考实验楼的SELECT 语句详解结合自己操作部分而写成。
注意:大多数系统中,SQL语句都是不区分大小写的,但是出于严谨和便于区分保留字和变量名,在书写的时,保留字应大写,而变量名应小写。所谓的保留字,即为:在高级语言中已定义过的字,使用者不能将这些字作为变量名和过程名使用。
1)SELECT语句的基本格式是:SELECT 查询的列名 FROM 表名 WHERE 限制条件;在上一篇博客创建一个简单的成绩管理系统 中,使用SELECT * FROM employee代表查询所有的列。例如,要查看employee表中的 name、age两列,可以使用:这里值得注意的是age和FROM之间没有逗号,很容易写的顺手了,就写上去了,只有列名之间需要逗号。

2)数学符号条件,SELECT 语句中常常会有WHERE 限制条件,用于实现更为精确的查找。WHERE限制条件可以有数学符号(=、>、<、>=、<=),例如,我们可以查找出employee表中,年龄大于25岁的人的名字,如图:

当WHERE后面不止一条限制时,可以使用OR(或)和AND(和)来实现相应要求,如求可以用OR来实现年龄小于25,和年龄大于30的这两部分人的名字;相应地,年龄在25和30之间的,可以使用AND 来实现,如图,


求年龄在25和30之间的人名的另一种写法是:

3)关键词 IN 和 NOT IN用于刷选“在”和“不在”某一范围内的结果,如,要查找在部门3和部门4的人的姓名、年龄、电话,可以使用下面的方式:

4)通配符。关键字LIKE一般和通配符一起使用,通配符代表未知的字符。SQL中通配符是“ _”和“ %”,前者代表一个未指定的字符,后者代表不定个的未指定字符。如:仅仅知道电话的前四位,后两位未知,想获得相关信息,可以如下:值得注意的是,关键字和统配的相对位置。

又如:仅知道姓名的首字符为‘J’想查询相关信息,可以如下:

5)为了是查询的结果显得更为顺眼,我们可能需要对结果按某一列进行排序。关键字是ORDER BY,默认的情况下,ORDER BY的结果是升序的,使用关键字ASC和DESC可以指定升序和降序。如工资
的降序排列:

6)SQL的内置函数和计算。SQL有5个内置函数,如下:

其中,COUNT函数可以用于任何数据类型,SUM、AVG只能对数字类数据类型进行计算,MAX、MIN可用于数字、字符串和日期时间类型的计算。
如计算出salary的最大值、最小值,可以用:

其中,主要到两绿色椭圆的关系,通过关键词AS,MAX(salary)重命名为了max_salary。
7)在处理多个表时,子查询只有在结果来自一个表时才有用,若,需要显示两个表格或者多个表格的数据时,就要使用连接(join)操作。连接的基本思想是:把两个或多个表当做一个新的表格来操作。查询各员工所在部门的人数,其中员工的id和name来自employee表,people_num来自department表。如下:

另一种,连接语句的格式是JOIN ON语法,刚才的语句等价于:

MySQL之SELECT 语句详解的更多相关文章
- mysql基础篇 - SELECT 语句详解
基础篇 - SELECT 语句详解 SELECT语句详解 一.实验简介 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELEC ...
- 第四节基础篇 - SELECT 语句详解
4.1 基本的SELECT语句 select * from T_WEATHER select cityname from t_weather 4.2 数学符号条件(>.<.>=.&l ...
- 基础select语句详解
在数据库操作语句中,使用最频繁,也被认为最重要的是 SELECT 查询语句.我们已经在不少地方用到了 SELECT * FROM table_name; 这条语句用于查看一张表中的所有内容. 而 SE ...
- MySQL8.0关系数据库基础教程(三)-select语句详解
1 查询指定字段 在 employee 表找出所有员工的姓名.性别和电子邮箱. SELECT 表示查询,随后列出需要返回的字段,字段间逗号分隔 FROM 表示要从哪个表中进行查询 分号为语句结束符 这 ...
- sql select语句详解
先group by 后 order by SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] * | expression [ AS ...
- T-SQL_select语句详解
select语句执行的过程: 先看查询内容 ==>where条件 ==>[分组条件] ==>[分组搜索条件] ==>内容输出 ==>[是否排序] SQL中SELECT语句 ...
- 【转】MySQL用户管理及SQL语句详解
[转]MySQL用户管理及SQL语句详解 1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysq ...
- 问题:oracle select into;结果:oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解
oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解 (2011-07-08 08:59:47) 转载▼ 标签: it 分类: oracle 我们经常会遇 ...
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
随机推荐
- XML文档处理
1)CDATA部分用<![CDATA[和]]>来限定其界限,它们是字符数据的一种特殊形式,可用使用它们来囊括那些含有<.>,&之类字符的字符串,而不必将它们解释为标记例 ...
- docker和docker compose常用操作命令
首先区分一下docker中几个概念 Image:镜像,相当于一个root文件系统,不包含任何动态数据 Container:容器,镜像运行时的实体,实质是进程,容器进程运行于属于自己的独立的命名空间 d ...
- rails小技巧之分组查询统计并去重
分组查询并统计 SpecialGroup.group(:special_type).count select special_type,count(*) from special_groups gro ...
- 002---time & datetime
time & datetime 时间模块 分类 时间戳 时间字符串 时间元祖 定义 UTC:格林威治时间,世界标准时间,中国(UTC + 8) 时间戳:1970-01-01 0:0:0 开始按 ...
- MVC4+EF 列表数据不能绑定
最新准备使用.net 的mvc+Ef来写个项目,开始一切顺利,到了数据绑定时出现了问题. 我的mvc视图引擎是Razor,后台提取数据的是Linq来处理,发现不管怎么样都不能绑定列表数据,可以将后台的 ...
- PHP.41-TP框架商城应用实例-后台16-商品属性2-AJAX添加、删除
添加商品属性 思路:根据[后台15]类型表{id,type_name}与属性表{id,attr_name,attr_type,attr_option_values,type_id} 1.建表商品属性 ...
- List中的FindAll用法
在泛型List中查找符合某个字段的全部数据,可以采用如下方式: //1.现将实体数据listList<ADDaAn> objDAList = db.ADDaAns.ToList(); // ...
- 关于C#数据类型自己的理解
电脑CUP处理程序的运行.cpu里分为一级缓存,二级缓存,还有三级缓存,之后是内存里的东西. 栈存放在一级缓存里,所以cup调用速度最快,处理起来也效率也最高,但是大小很小,能存放的东西很少. 堆存放 ...
- Leetcode代码补全——链表
通过补全代码可以更深刻的体会到,链表就是一个存储方式,通过一单元的存储指向下一单元,而查看单元内容通过头部开始的指针依次遍历.这是leetcode里融合两个链表的题目,具体代码如下: #encodin ...
- BZOJ1270[BJWC2008]雷涛的小猫
雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学生宿舍管理条例的).在他的照顾下,小猫很快恢复了健康,并且愈发的活泼可爱了. 可是有一天,雷涛下课回到寝室,却 ...