MySQL基础入门—SELECT语句详解

SELECT 语句详解 如果要查询表的所有内容,则把 要查询的列名 用一个星号 * 号表示(实验 2、3 中都已经使用过),代表要查询表中所有的列。在处理多个表时,子查询只有在结果来自一个表时才有用。在正式开始本实验内容之前,需要先下载相关数据库表,搭建好一个名为mysql_shiyan 的数据库(有三张表:department,employee,project),并向其中插入数据。刚才下载的两个文件 MySQL-04-01.sql 和 MySQL-04-02.sql,其中第一个文件用于创建数据库,第二个文件向数据库中插入数据。 阅读详情

基本的SELECT语句

SELECT 语句的基本格式为:

SELECT 要查询的列名 FROM 表名字 WHERE 限制条件;

如果要查询表的所有内容,则把 要查询的列名 用一个星号 * 号表示,代表要查询表中所有的列。

而大多数情况,我们只需要查看某个表的指定的列,比如要查看employee 表的 name 和 age:

SELECT name,age FROM employee;


数学符号条件

SELECT 语句常常会有 WHERE 限制条件,用于达到更加精确的查询。WHERE限制条件可以有数学符号 (=,<,>,>=,<=) ,刚才我们查询了 name 和 age,现在稍作修改:

SELECT name,age FROM employee WHERE age>25;

筛选出 age 大于 25 的结果:


或者查找一个名字为 Mary 的员工的 name,age 和 phone:

SELECT name,age,phone FROM employee WHERE name='Mary';

结果当然是:


“AND”与“OR”

从这两个单词就能够理解它们的作用。WHERE 后面可以有不止一条限制,而根据条件之间的逻辑关系,可以用 OR(或) 和 AND(且) 连接:

#筛选出 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;


而刚才的限制条件 age>25 AND age<30 ,如果需要包含25和30这两个数字的话,可以替换为 age BETWEEN 25 AND 30 :


IN 和 NOT IN

关键词IN和NOT IN的作用和它们的名字一样明显,用于筛选“在”或“不在”某个范围内的结果,比如说我们要查询在dpt3或dpt4的人:

SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt IN ('dpt3','dpt4');


而NOT IN的效果则是,如下面这条命令,查询出了不在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__';

这样就查找出了1101开头的6位数电话号码:


另一种情况,比如只记名字的首字母,又不知道名字长度,则用 % 通配符代替不定个字符:

SELECT name,age,phone FROM employee WHERE name LIKE 'J%';

这样就查找出了首字母为 J 的人:


对结果排序

为了使查询结果看起来更顺眼,我们可能需要对结果按某一列来排序,这就要用到 ORDER BY 排序关键词。默认情况下,ORDER BY的结果是升序排列,而使用关键词ASC和DESC可指定升序或降序排序。

比如,我们按salary降序排列,SQL语句为:

SELECT name,age,salary,phone FROM employee ORDER BY salary DESC;


SQL 内置函数和计算

SQL 允许对表中的数据进行计算。对此,SQL 有 5 个内置函数,这些函数都对 SELECT 的结果做操作:

函数名:COUNTSUMAVGMAXMIN
作用: 计数 求和 求平均值 最大值 最小值

其中 COUNT 函数可用于任何数据类型(因为它只是计数),而 SUM 、AVG 函数都只能对数字类数据类型做计算,MAX 和 MIN 可用于数值、字符串或是日期时间数据类型。

具体举例,比如计算出salary的最大、最小值,用这样的一条语句:

SELECT MAX(salary) AS max_salary,MIN(salary) FROM employee;

有一个细节你或许注意到了,使用AS关键词可以给值重命名,比如最大值被命名为了max_salary:


子查询

上面讨论的 SELECT 语句都仅涉及一个表中的数据,然而有时必须处理多个表才能获得所需的信息。例如:想要知道名为 "Tom" 的员工所在部门做了几个工程。员工信息储存在 employee 表中,但工程信息储存在project 表中。

对于这样的情况,我们可以用子查询:

SELECT of_dpt,COUNT(proj_name) AS count_project FROM project
WHERE of_dpt IN
(SELECT in_dpt FROM employee WHERE name='Tom');


子查询还可以扩展到3层、4层或更多层。

连接查询

在处理多个表时,子查询只有在结果来自一个表时才有用。但如果需要显示两个表或多个表中的数据,这时就必须使用连接 (join) 操作。

连接的基本思想是把两个或多个表当作一个新的表来操作,如下:

SELECT id,name,people_num
FROM employee,department
WHERE employee.in_dpt = department.dpt_name
ORDER BY id;

这条语句查询出的是,各员工所在部门的人数,其中员工的 id 和 name 来自 employee 表,people_num 来自 department 表:


另一个连接语句格式是使用 JOIN ON 语法,刚才的语句等同于:

SELECT id,name,people_num
FROM employee JOIN department
ON employee.in_dpt = department.dpt_name
ORDER BY id;

结果也与刚才的语句相同。


通过ssh进行宇树g1机器人进行连接 原因:就是g1机器人输出接口损坏,无法连接外部显示器。前期准备:本文电脑是联想Y7000p(windows)2.进入页面后:3.出现是一个压缩包,解压后:4.安装时:要注意,需要在文件夹中找到这个文件目录,然后在此鼠标右键开启终端进行安装:接着按照提示next下去即可,可以自定义安装路径。 阅读详情

相关推荐

QGraphicsView通过鼠标操作来绘制图元

在Visio和MindManager等类似的图元操作软件中,很多时候我们会通过鼠标操作来添加自定义的图元。这里就介绍一下如何在QT的图形视图框架中通过鼠标绘制来添加图元。

yang1fei2的博客 3576

MySQL Select 查询语句详解及高级用法

MySQL是一个开源的关系型数据库管理系统,支持多种操作语言,其中最基础、最常用的命令之一就是SELECT语句。在本篇文章中,这里将详细介绍MySQL SELECT语句的各个方面,从最基本的查询语句,到更高级的技巧和功能。

BASK2311的博客 1万+

[系统安全] 一.什么是逆向分析、逆向分析基础及经典扫雷游戏逆向

娜璋AI安全之家于2020年8月18日开通,将专注于Python和安全技术,主要分享Web渗透、系统安全、CVE复现、威胁情报分析、人工智能、大数据分析、恶意代码检测等文章。真心想把自己近十年的所学所做所感分享出来,与大家一起进步。 系统安全系列作者将深入研究恶意样本分析、逆向分析、攻防实战等,通过在线笔记和实践操作的形式分享与博友们学习,希望能与您一起进步。第一篇文章先带领大家学习什么是逆向分析,然后详细讲解逆向分析的典型应用,接着通过OllyDbg工具逆向分析经典的游戏扫雷,再通过Cheat Engin

杨秀璋的专栏 2万+

MySQL数据库技术与应用:数据查询

摘要:数据查询是数据库系统应用的主要内容,也是用户对数据库最频繁、最常见的基本操作请求。 数据查询 数据查询是数据库系统应用的主要内容,也是用户对数据库最频繁、最常见的基本操作请求。数据查询可以根据用户提供的限定条件,从已存在的数据表中检索用户需要的数据。MySQL使用SELECT语句从数据库中检索数据,并将结果集以表格的形式返回给用户。 SELECT查询的基本语法 select * from 表名; from关键字后面写表名,表示数据来源于是这张表 select后面写表中的列名,如果是*表示在

华为云官方博客 4258

微信小程序 - 实现嵌套H5页面唤起微信支付的实现方案+完整流程源码,微信小程序webview(H5页面)调用微信小程序支付,嵌套h5页面怎么实现小程序支付(Vue2/3移动端H5网页、公众号网页等)

h5嵌入微信小程序微信支付,H5网页嵌入到微信小程序内如何支付,微信小程序webview组件交互,内联h5页面并网页实现微信支付,微信H5页面实现微信小程序支付,微信小程序嵌套webview实现小程序微信支付,小程序中内嵌H5网页支付怎么办,用网页的支付还是小程序的支付?支付没反应,支付报错怎么办,微信小程序内嵌h5,h5调用小程序支付功能解决方案,H5网页cors跨域,真机测试无法唤起支付,无法唤起支付,uniapp微信小程序,h5小程序调用微信支付,微信小程序内嵌H5页面,如何实现微信支付功能,微信小程

🏆 前端领域优质创作者 1万+

Python爬虫实战:全自动采集银行理财产品收益率数据

本文通过Playwright动态爬虫技术,成功实现了对银行理财产品收益率数据的实时采集,并通过 Pandas 数据清洗、SQLite 存储、调度自动化等模块,构建了一个可扩展的银行理财数据抓取系统。理财非儿戏,数据做决策。掌握银行收益信息是我们迈向理性投资的第一步。希望这套工具对你有所帮助!

2201_76125261的博客 1155

MYSQL-SELECT语句超详解

耶!

chara9885的博客 6116

Git下载与安装

一、Git下载 二、Git安装

欢迎订阅我的“JAVA全栈开发笔记(全)”专栏,价格优惠,仅需19.9元。 6万+

MySQL ——select语句 一条龙服务

目录🍔 基本语法 🔰 使用表达式对查询的列进行运算🍗 ...

weixin_59796310的博客 5792

Altium Designer(AD24/25)导入DXF或DWG结构文件的方法

DXF(Drawing Exchange Format)和DWG(Drawing)是两种常见的CAD(计算机辅助设计)文件格式,常用于结构和硬件之间的沟通。本文介绍Altium Designer(AD24/25)导入DXF或DWG结构文件的方法。

fydar的博客 1441

LLaMA Factory添加新模型template的实战解析

本文主要介绍了LLaMA Factory添加新模型template的实战解析,希望对使用大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 实战解析 2.1 检查代码 2.2 修改代码

herosunly的博客 19万+

mysql 的select查询命令学习

mysql、select

weixin_45063658的博客 6694

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

MySQL 基础课程

1、SQL 介绍及 MySQL 安装 相关概念 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库 数据库用于记录数据,使用数据库记录数据可以表现出各种数据间的联系,也可以很方便地对所记录的数据进行增、删、改、查等操作。 结构化查询语言(Structured Query Language)简称 SQL,是上世纪 70 年代由 IBM 公司开发,用于对数据库进行操作的语言。更详细地说,SQL 是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文

weixin_42715287的博客 710

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

MySQL最基本的7个SELECT语句与SQL语句的分类

最最基本的SELECT语言有哪些?在日常学习中我总结了7种最基本的SELECT语句

weixin_63946253的博客 356

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

mysql提交事务和orage_mysql/mariadb知识点总结:select语句总结之一:select基本语句...

在之前的文章中,已经总结了insert语句,update语句与delete语句,此处不再赘述,这篇文章总结了select语句的基本用法,select语句的分组与聚合、多表查询等常用语法将在其他文章中单独进行总结。在本博客中,"mysql"是一个系列文章,这些文章主要对mysql/mariadb的常用知识点进行了总结,每一篇博客总结的知识点有所不同,具体内容可参考mysql文章列表。mysql文章列...

weixin_35833704的博客 166

MySQL基础教程:SELECT语句详解

这篇文章详细介绍了MySQL中SELECT语句的基础知识与应用技巧。主要内容包括:SQL语言概述与分类、书写规范与命名规则、基本的SELECT查询语法。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 7208

MySQL-SELECT 语句详解

在数据库操作语句中,使用最频繁,也被认为最重要的是 SELECT 查询语句。之前的实验中,我们已经在不少地方用到了 SELECT * FROM table_name; 这条语句用于查看一张表中的所有内容。 而 SELECT 与各种限制条件关键词搭配使用,具有各种丰富的功能,这次实验就进行详细介绍。 1、基本的SELECT语句 SELECT 语句的基本格式为: SELECT 要查询

单车人的博客 4万+

MySQL 数据查询:SELECT语句详解与实践

本文全面解析MySQL的SELECT查询语句,从基础语法到高级应用。主要内容包括:SELECT语句的基本架构和核心子句解析;基础查询操作如全表查询、条件筛选;高级技术如排序、分页和聚合查询;多表关联的各种连接方式。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 8486

MySQL之优化SELECT语句

本文主题为MySQL优化SELECT语句,涵盖了数据库性能提升概述,WHERE子句优化,范围优化和哈希联接优化。在数据库性能方面,需要考虑软件结构、CPU和I/O操作的最小化和高效执行。WHERE子句优化涉及改进查询的算法和可读性。范围优化介绍了优化器使用范围访问方法的条件和方法。哈希联接优化方面,MySQL在较新版本中使用哈希连接取代了块嵌套循环联接算法,从而提高查询速度。

沉淀所学,分享所思,让热爱与成长同行。商务记录AI实战经验,助力开发者快速成长。 热爱AI,希望做出有影响力的技术成果。 技术点亮生活,分享连接价值与机会。 专注AI落地实战,陪你走好技术每一步。 2万+

MySQL SELECT 查询(一):基础查询语句的实现

MySQL SELECT 查询(一):基础查询语句的实现,包括select语句的结构,where过滤,order by 排序,group by分组,limit 的介绍以及使用

2301_77207909的博客 2774

【MySQL系列】Select语句单表查询详解入门(SELECT,AS,模糊查询,运算符,逻辑运算符)

上一篇博客讲解了ALTER,UPDATE等数据操作语言,本篇博客将讲解MySQL的查询语句SELECT语句,它也是数据库学习中的最重要的一环。

luhaoran814的博客 9923

详解MySQL查询语句:SELECT语句一网打尽

关于MySQL查询语句的:介绍MySQL的SELECT语句,如如何筛选、排序、分组和连接数据等。

qq_28754027的博客 1294

MySQL 基础:SELECT 语句的核心语法与规范

MySQL的SELECT语句是数据库查询的核心,本文总结了其基本语法与使用规范。主要内容包括:SELECT的基础语法结构;避免使用SELECT *的原因及替代方案;SQL大小写规范与书写建议;列别名的使用方法;DISTINCT去重查询的注意事项;NULL值的特殊处理规则;着重号的用法解决关键字冲突;常数查询的应用场景;DESCRIBE命令查看表结构;以及WHERE子句的条件过滤用法。文章强调明确指定查询字段、遵循书写规范、正确处理特殊值等最佳实践,帮助开发者编写高效、可维护的SQL查询语句。

m0_60277481的博客 1400

MySQL中SELECT语句的执行过程

使用组合索引时,可能会有部分字段无法使用到索引,这时可以使用索引下推来减少回表操作,索引下推就是将所有查询条件都判断完成后再回表,没有使用索引下推就只判断了使用到索引的字段,其余字段的查询条件还需要回到Server层来判断。组合索引当遇到范围查询 (>、<) 就会停止匹配,也就是。

boluomi的博客 3256

mysql详解一条查询select语句和更新update语句的执行流程

本文主要分析了select和update语句的执行过程,而在分析update语句执行过程中,又简单介绍了redo log和bin log相关概念,这一部分内容在本文中没有过多深入的讲解,仅仅只是为了让大家去理解更新流程而做了简单的介绍,像redo log和其对应的缓存之间的关系,redo log刷盘策略,bin log写入策略,有了bin log为何还需要redo log等等问题本文中并没有给出明确的解释,因为本文篇幅有限,深入之后就会涉及到InnoDB引擎的存储结构以及更底层的一些知识。

yhl11111111的博客 3761
上一篇: 三条命令解决Git 如何删除远程服务器文件同时保留本地文件
下一篇: MySQL基础入门——其他基本操作
FallingU
博客等级 码龄11年 61粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值