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而后者不支持 ...
随机推荐
- PHP队列之理论篇
定义: 特殊的线性表. 特点: 1.先进先出:连结性. 2.作为一种特殊性的表,主要是在表前端进行删除操作,我们称删除的端为对头(front):只能在表的后端进行插入操作,我们称之为称插入 ...
- [转]不让iTunes备份到c盘
很多人现在的C盘都是空间不大的SSD硬盘,ITUNES备份老是占越来越大的空间,不如动手把它改成其它盘好了.下面7个步骤教你转移备份. 1.需要一个小工具:Juction.exe,如果你已经是WIN7 ...
- Delphi方法重载
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- Spring 的好处?
1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 2.可以使用容易提供的众多服务,如事务管理,消息服务等 3.容器提供单例模式支持 4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监 ...
- Hibernate-ORM:16.Hibernate中的二级缓存Ehcache的配置
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客讲述Hibernate中的二级缓存的配置,作者将使用的是ehcache缓存 一,目录 1.二级缓存的具 ...
- 转:C#微信公众号开发之接收事件推送与消息排重的方法
本文实例讲述了C#微信公众号开发之接收事件推送与消息排重的方法.分享给大家供大家参考.具体分析如下: 微信服务器在5秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次.这样的话,问题就来了.有这 ...
- node 发送 post 请求 get请求。
因为我们部门打算用node请求restful 然后慢慢替换掉服务端,以后直接请求soa的接口,让前端的数据更贴切项目,因为我们服务端接口和app公用一套,由于业务的需求和版本不统一(例如app6.4的 ...
- dom知识总结
一.dom节点的关系及遍历 element.firstChild; 如果节点为已知节点的第一个子节点就可以使用这个方法.此方法可以递归进行使用 element.firstChild.firstChil ...
- 今天买了个pro,开始ios开发
今天买了个mac pro 开始ios开发啦,爽!
- mybatis if标签比较字符串
项目中需要在mybatis后台比较字符串 因为mybatis映射文件使用的是ognl表达式,所以不能使用 <if test="type == '0'"> 解决: < ...