select简单使用

语法

先大致看一下,后面都会讲,distinct用来去重,from 指明表名,where语句则用来控制查询条件,order by则用来对结果进行升序/降序排序,limit则用来分页。

SELECT
[DISTINCT] {* | {column [, column] ...}
[FROM table_name]
[WHERE ...]
[ORDER BY column [ASC | DESC], ...]
LIMIT ...

注意:mysql不区分大小写,我这里是在命令行敲打的,大多数直接就干脆写成一行了,为了方便观察单词,采用小写。具体使用包包按照要求就行。

基本查询

1、全列查询

语法:select * from 表名

2、指定列查询

语法select 字段1,字段2,字段3... from 表名  (各个字段之间以逗号分隔,注意这里的逗号是英文那个,不是中文)

3、查询结果重命名

语法:select 字段1 新名,字段2 新名,字段3 新名... from 表名  (旧的字段与新名之间用空格隔开)

4、去重查询

语法:select distinct 字段1,字段2.... from 表名 (distinct后面跟几个字段,就表明这几个字段必须相同才会去重)

如果是select distinct * from 表名,则表示表中必须所有字段全部相同,才会去重,只要有一个字段不同,就不会去重。

where条件

我们可以通过where语句,来对查询的条件进行一些限制,比如要查询成绩大于90,小于100的所有人,此时就可以通过where语句,进行条件筛选。

运算符

运算符说明
>, >=, <, <=
大于,大于等于,小于,小于等于
=
等于,NULL不参与计算
<=>
等于,NULL参与计算
!=不等于
between a and b范围属于[a,b],也就是a<= value <=b
in (a,b,c,d......)只要结果是括号内的范围中的其中一个,条件就成立
is NULL用来判断是否为NULL
is not NULL判断是否不为NULL
like模糊匹配,%表示0或多个任意字符, _表示一个任意字符。比如姓孙的:'孙%',         孙某:'孙_'

逻辑运算符

运算符说明
andand两边必须同时满足条件
ora or b ,满足ab其中之一就可以
not用来取相反结果

这里来举个例子来进行讲解,先看这么一个表:

例1

筛选英语不及格的同学,以及对应的英语成绩:

例2
筛选语文成绩在80-90之间的同学,以及对应的语文成绩

与逻辑运算符配合使用案例

例1(含in(...)的使用)

筛选数学成绩是58,59,98,99其中之一的同学以及其数学成绩

这里我们可以采用or,进行连接:

也可以采用上面的运算符,in(a,b,c,d...)

例2(like模糊匹配的使用)

筛选出孙某同学,以及他的语文、数学成绩

筛选出姓孙的同学,以及对应的总分

例3(where后面也可以进行字段比较)

筛选出语文大于数学成绩的同学,以及对应的语文、数学成绩

例4(and与not)

筛选出语文成绩大于80,并且不姓孙的同学及其成绩

例5(括号表示一整个大的条件)

如果是孙某,直接筛选,其它人则满足:总分大于200,并且语文小于数学,并且英语大于80

order by对结果排序

前面查询出来的结果都是无序的,我们可以通过order语句,对结果进行排序,这里需要注意,NULL值在里面是最小值。

升序

order by xxx asc:根据xxx进行升序排序

例1:

还是上面那张表,根据语文成绩进行升序排序

例2:

针对总分进行升序显示:

降序

order by xxx desc:根据xxx,对结果进行降序

用法与升序相同,只不过讲asc变成desc了。这里sql语句默认如果不指明的话,是默认asc的。

查询同学各门成绩,依次按 数学降序,英语升序,语文升序的方式显示
例(与where语句配合使用)

查询出姓曹的,以及姓孙的数学成绩,并且按照数学降序排序

limit筛选分页结果

有时候我们只想一个页面显示10条信息,则用到了limit分页,此时再跳到章节开始,可以看到最后的limit。

建议:对未知表进行查询时,最好加一条 LIMIT 1 ,避免因为表中数据过大,查询全表数据导致数据库卡死

注意一点,limit起始下标从0开始

常见有三种用法,如下:我们先来看一张完整的表,以此来实验

limit n

从0开始,筛选n条结果。

limit s,n

从s开始,显示n条结果

limit n offset s

与limit s,n意义相同,只不过相比于limit s,n,更加习惯于用这个罢了。

可以看到与上面结果相同。

讲这张表按照id降序,分成3页,每页显示3条记录

至此,一张表被分成了三页,每页3条记录。

基本单表查询结束,可以配合各种场景,利用where、order by、distinct、limit根据需求配合灵活使用——爱你的包包。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/244578.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mysqlsh导入json,最终还得靠navicat导入json

工作需要将一个巨大的10G的json导入mysql数据库。 看到mysql官方有对json导入的支持。 如下&#xff1a; MySQL :: Import JSON to MySQL made easy with the MySQL Shell $ mysqlsh rootlocalhost:33300/test --import /path_to_file/zips.json Creating a session to root…

Linux——进程地址空间与进程控制

进程地址空间与进程控制 文章目录 进程地址空间与进程控制1. 进程地址空间1.1 进程地址空间的引入1.1 进程地址空间的特点1.2 页表1.3 C/C的地址1.4 进程地址空间 页表的优势 2. 进程控制2.1 进程创建2.1.1 写时拷贝 2.2 进程终止2.2.1 进程退出码2.2.2 异常信号码2.2.3 errno…

阿里巴巴旗下的 AI 平台 AIHub 提供多种免费的图片 AI 在线工具

顽兔抠图&#xff1a;一键去除图像背景的 AI 工具&#xff0c;支持图片和视频。顽兔抠图 淘宝网(Taobao.com)作为专业的购物网站拥有全球时尚前沿的消费者购物集市,100%认证网上商城及超值二手商品区&#xff0c;同时购物安全&#xff0c;产品丰富&#xff0c;应有尽有,任你选购…

解决固定资产盘点问题,易点易动来帮忙!

固定资产盘点是企业管理中不可或缺的环节&#xff0c;然而&#xff0c;很多企业在固定资产盘点方面面临一系列问题&#xff1a; 盘点过程繁琐&#xff1a;传统的手动盘点方式需要耗费大量人力和时间&#xff0c;容易出现疏漏和错误&#xff0c;效率低下&#xff1b; 数据记录不…

uniapp 之 图片 视频 文件上传

<view class"" style"padding: 24rpx 0"><text>相关资料 <text class"fs-26 color-666">&#xff08;图片、视频、文档不超过9个&#xff09;</text> </text><view class"flex align-center" style&…

安全算法(二):共享密钥加密、公开密钥加密、混合加密和迪菲-赫尔曼密钥交换

安全算法&#xff08;二&#xff09;&#xff1a;共享密钥加密、公开密钥加密、混合加密和迪菲-赫尔曼密钥交换 本章介绍了共享密钥加密、公开密钥加密&#xff0c;和两种加密方法混合使用的混合加密方法&#xff1b;最后介绍了迪菲-赫尔曼密钥交换。 加密数据的方法可以分为…

Day09 Liunx高级系统设计11-数据库1

MySQL 简介 数据库DB 数据库&#xff08; DataBase &#xff0c; DB &#xff09;从本质上讲就是一个文件系统&#xff0c;它能够将数据有组织地集合在一起&#xff0c;按照一定的规则长期存储到计算机的磁盘中&#xff0c;并且能够供多个用户共享和使用&#xff0c;同时&…

Leetcode—459.重复的子字符串【简单】

2023每日刷题&#xff08;五十九&#xff09; Leetcode—459.重复的子字符串 算法思想 巧解的算法思想 实现代码 从第一个位置开始到s.size()之前&#xff0c;看s字符串是否是ss的子串 class Solution { public:bool repeatedSubstringPattern(string s) {return (s s).fin…

西南科技大学数字电子技术实验七(4行串行累加器设计及FPGA实现)FPGA部分

一、实验目的 1、掌握基于Verilog语言的diamond工具设计全流程。 2、熟悉、应用Verilog HDL描述数字电路。 3、掌握Verilog HDL的组合和时序逻辑电路的设计方法。 4、掌握“小脚丫”开发板的使用方法。 二、实验原理 三、程序清单&#xff08;每条语句必须包括注释或在开发…

【产品应用】一体化伺服电机在TO全自动封焊机中的应用

随着科技的飞速发展&#xff0c;自动化设备在各行各业中的应用越来越广泛。在电子制造领域&#xff0c;封焊机是关键设备之一&#xff0c;其性能直接影响产品的质量和产量。近年来&#xff0c;一体化伺服电机在TO全自动封焊机中的应用逐渐受到关注。本文将详细介绍一体化伺服电…

用Rust帮Python加加速

背景 长期以来,Python由于易上手,有GC且生态强大等特点被广泛使用,可是渐渐的人们也发现了它的不足,解释型语言的运行速度终究比不过编译型,况且由于Python设计时的动态数据类型一切皆对象(内存都分配在堆上)等思想,也导致了运行速度缓慢. 随着实时性要求的不断提升,在一些计…

Windows下使用CMake编译lua

Lua 是一个功能强大、高效、轻量级、可嵌入的脚本语言。它支持程序编程、面向对象程序设计、函数式编程、数据驱动编程和数据描述。 Lua的官方网站上只提供了源码&#xff0c;需要使用Make进行编译&#xff0c;具体的编译方法为 curl -R -O http://www.lua.org/ftp/lua-5.4.6.…

Android取消深色适配

从Android10&#xff08;API 29&#xff09;开始&#xff0c;在原有的主题适配的基础上&#xff0c;Google开始提供了Force Dark机制&#xff0c;在系统底层直接对颜色和图片进行转换处理&#xff0c;原生支持深色模式。当系统设置深色主题背景或者进入省电模式情况下会进入深色…

【docker】docker入门与安装

Docker 一、入门 Docker的主要目标是&#xff1a;Build, Ship and Run Any App, Anywhere&#xff0c;也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理&#xff0c;使用户的APP及其运行环境能做到一次镜像,处处运行。 Docker运行速度快的原因 Docker有比虚拟…

使用ROS模板基于ECS和RDS创建WordPress环境

本文教程介绍如何使用ROS模板基于ECS和RDS&#xff08;Relational Database Service&#xff09;创建WordPress环境。 前提条件 如果您是首次使用ROS&#xff0c;必须先开通ROS服务。ROS服务免费&#xff0c;开通服务不会产生任何费用。 背景信息 WordPress是使用PHP语言开…

算法通关村第十三关—数论问题(黄金)

数论问题 一、辗转相除法 辗转相除法又叫做欧几里得算法&#xff0c;是公元前300年左右的希腊数学家欧几里得在他的著作《几何原本》提出的。最大公约数(greatest common divisor,简写为gcd),是指几个数的共有的因数之中最大的一个&#xff0c;例如8和12的最大公因数是4&#…

+0和不+0的性能差异

前几日&#xff0c;有群友转发了某位技术大佬的weibo。并在群里询问如下两个函数哪个执行的速度比较快&#xff08;weibo内容&#xff09;。 func g(n int, ch chan<- int) {r : 0for i : 0; i < n; i {r i}ch <- r 0 }func f(n int, ch chan<- int) {r : 0for …

ubuntu解决问题:E: Unable to locate package manpages-posix-dev

sudo apt-get install manpages-posix-dev 想要在ubuntu里面安装manpages-posix-dev这个包&#xff0c;发现弹出错误 E: Unable to locate package manpages-posix-dev 解决方法如下&#xff1a; 1 查看当前ubuntu的版本 abhishekitsfoss:~$ lsb_release -a No LSB module…

基于node 安装express后端脚手架

1.首先创建文件件 2.在文件夹内打开终端 npm init 3.安装express: npm install -g express-generator注意的地方&#xff1a;这个时候安装特别慢,最后导致不成功 解决方法&#xff1a;npm config set registry http://registry.npm.taobao.org/ 4.依次执行 npm install -g ex…

CSS新手入门笔记整理:元素类型相互转换

元素类型 块元素&#xff08;block&#xff09; 独占一行&#xff0c;排斥其他元素跟其位于同一行&#xff0c;包括块元素和行内元素。块元素内部可以容纳其他块元素和行内元素。可以定义 width&#xff0c;也可以定义 height。可以定义 4 个方向的 margin。 行内元素&#xf…