MySQL命令:select查询语句
SQL 中最常用的 SELECT 语句,用来在表中选取数据。
要记得的知识点如下:
- SELECT 语句格式:
- SELECT 要查询的列名 FROM 表名字 WHERE 限制条件;
- 数学符号条件:= > < >= <= between and
- 逻辑符:AND / OR / IN / NOT IN
- 通配符:LIKE + _ 、%
- 排序:ORDER BY + ASC、DPSC
- SQL 内置函数和计算
- 子查询与连接查询
WHERE语句后:
SELECT 语句的基本格式
SELECT 要查询的列名 FROM 表名字 WHERE 限制条件;
--查询某个表所有内容(如employee表)
select * from employee; --查寻表中name、age的信息
select name,age from employee;
WHERE后的东西(限制条件、逻辑符、通配符、排序)
数学符号条件
=、>、<、>=、<=、between
逻辑符
AND、OR、 IN、NOT IN
--筛选年龄大于25的人的名字和年龄
SELECT name,age FROM employee WHERE age>25; --查找一个名字为 Mary 的员工的 name,age 和 phone
SELECT name,age,phone FROM employee WHERE name='Mary'; --筛选出 age 小于 25,或 age 大于 30
SELECT name,age FROM employee WHERE age<25 OR age>30; --筛选出 age 大于 25,且 age 小于 30
SELECT name,age FROM employee WHERE age>25 and age<30; --这种情况可以加between结合and
--筛选出 age 小于 25,或 age 大于 30
SELECT name,age FROM employee WHERE age between 25 and 30; --查询在dpt3或dpt4的人
SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt IN ('dpt3','dpt4'); --查询不在dpt1和dpt3的人
SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt NOT IN ('dpt1','dpt3');
通配符
关键字 LIKE 在SQL语句中和通配符一起使用,通配符代表未知字符。SQL中的通配符是 _ 和 % 。
其中 _ 代表一个未指定字符,% 代表不定个未指定字符。
--电话号码前四位数为1101,而后两位忘记了,则可以用两个 _ 通配符代替:
SELECT name,age,phone FROM employee WHERE phone LIKE '1101__'; --另一种情况,比如只记名字的首字母,又不知道名字长度,则用 % 通配符代替不定个字符
SELECT name,age,phone FROM employee WHERE name LIKE 'J%';
对结果排序
默认情况下,ORDER BY的结果是升序排列,而使用关键词ASC和DESC可指定升序或降序排序。
--我们按salary降序排列,SQL语句为:
SELECT name,age,salary,phone FROM employee ORDER BY salary DESC;
SQL内置函数与计算

--取最大值
SELECT MAX(salary) FROM employee; --取最小值并使用as给关键字重命名
SELECT MIN(salary) as minminmin_salary FROM employee; --计数:有多少个人的工资
SELECT COUNT(salary) FROM employee; --求和
SELECT SUM(salary) FROM employee; --求平均值
SELECT AVG(salary) FROM employee;
子查询
上面讨论的 SELECT 语句都仅涉及一个表中的数据,然而有时必须处理多个表才能获得所需的信息。例如:想要知道名为 "Tom" 的员工所在部门做了几个工程。员工信息储存在 employee 表中,但工程信息储存在project 表中。
SELECT of_dpt,COUNT(proj_name) AS count_project FROM project GROUP BY of_dpt
HAVING of_dpt IN
(SELECT in_dpt FROM employee WHERE name='Tom');
连接查询
在处理多个表时,子查询只有在结果来自一个表时才有用。但如果需要显示两个表或多个表中的数据,这时就必须使用连接 (join) 操作。 连接的基本思想是把两个或多个表当作一个新的表来操作,如下:
SELECT id,name,people_num
FROM employee,department
WHERE employee.in_dpt = department.dpt_name
ORDER BY id;
学习资源来源:实验楼
MySQL命令:select查询语句的更多相关文章
- 转载《mysql 一》:mysql的select查询语句内在逻辑执行顺序
原文:http://www.jellythink.com/archives/924 我的抱怨 我一个搞应用开发的,非要会数据库,这不是专门的数据库开发人员干的事么?话说,小公司也没有数 据库开发人员这 ...
- mysql的select查询语句
1.简单查询 mysql> select * from students; +------------+----------+------+------+ | id | sname | sex ...
- {MySQL的逻辑查询语句的执行顺序}一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析
MySQL的逻辑查询语句的执行顺序 阅读目录 一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SEL ...
- Mysql常用sql语句(3)- select 查询语句基础使用
测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 针对数据表里面的每条记录,select查询语句叫 ...
- create table 使用select查询语句创建表的方法分享
转自:http://www.maomao365.com/?p=6642 摘要:下文讲述使用select查询语句建立新的数据表的方法分享 ---1 mysql create table `新数据表名` ...
- python 3 mysql sql逻辑查询语句执行顺序
python 3 mysql sql逻辑查询语句执行顺序 一 .SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_t ...
- mysql DML select查询
windows上的操作 1.从官网下载mysql 下载navicat,用来连接mysql的 2.打开运行启动mysql 3.在navicat上的连接打开新建连接 然后输入链接名,连接名就是用户名,自己 ...
- 深入MySQL(四):MySQL的SQL查询语句性能优化概述
关于SQL查询语句的优化,有一些一般的优化步骤,本节就介绍一下通用的优化步骤. 一条查询语句是如何执行的 首先,我们如果要明白一条查询语句所运行的过程,这样我们才能针对过程去进行优化. 参考我之前画的 ...
- MySQL知识树-查询语句
在日常的web应用开发过程中,一般会涉及到数据库方面的操作,其中查询又是占绝大部分的.我们不仅要会写查询,最好能系统的学习下与查询相关的知识点,这篇随笔我们就来一起看看MySQL查询知识相关的树是什么 ...
- PHP中对mysql预编译查询语句的一个封装
原文地址:http://chen-shan.net/?p=474 为了防止sql注入,我们都使用过mysqli这个类,但是每次都需要绑定参数,绑定结果等,比较麻烦,所以可以把这些重复的语句封装成一个函 ...
随机推荐
- 电子证书 DER & PEM & CRT & CER
原文链接: http://blog.csdn.net/zqt520/article/details/26966603 证书与编码 本至上,X.509证书是一个数字文档,这个文档根据RFC 5280来编 ...
- maven项目中利用jmeter-maven-plugin插件直接执行jmeter jmx脚本
jmeter脚本需要执行脚本,先得下载jmeter并解压jmeter.如想在maven项目中通过mvn install 直接执行jmx文件,这样就能在测试服务器上通过一个命令就能执行下性能测试了,给自 ...
- java多线程状态
造成线程进入阻塞状态的情况大致可分为: 1.调用sleep()方法 2.调用阻塞式IO方法 3. 4.等待通知 5.调用suspend(),程序挂起.
- Spring Boot 2.0 整合 FreeMarker 模板引擎
本篇博文将和大家一起使用Spring Boot 2.0 和FreeMarker 模板引擎整合实战. 1. 创建新的项目 2. 填写项目配置信息 3. 勾选web 模块 4. 勾选freemarker模 ...
- pandas通过皮尔逊积矩线性相关系数(Pearson's r)计算数据相关性
皮尔逊积矩线性相关系数(Pearson's r)用于计算两组数组之间是否有线性关联,举个例子: a = pd.Series([1,2,3,4,5,6,7,8,9,10]) b = pd.Series( ...
- git初始化本地项目并推送到git服务器
1.创建本地项目,在项目根目录执行git init命令 git init 2.在git服务器上创建一个仓库,这里使用GitHub创建一个仓库. 3.执行git remote add origin &l ...
- 仿迅雷播放器教程 -- 十年经验大牛对MFC的认识 (7)
由于上一个教程做界面用的是MFC,所以这里不得不说一下MFC的历史,请看正文: 原文链接:http://blog.csdn.net/sunhui/article/details/319551 作者 ...
- Caused by: java.lang.ClassNotFoundException: javax.xml.bind.Validation
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.Validation JAXB API是java EE 的API,因此在java ...
- puppet 用户和组资源管理
1. 用户和组资源的特性: 1.1 用户特性: allows_duplicates 支持含有相同UID的用户. manages_aix_lam ...
- sklearn中的回归器性能评估方法
explained_variance_score() mean_absolute_error() mean_squared_error() r2_score() 以上四个函数的相同点: 这些函数都有一 ...