数据库的模糊查询

2023-09-20 13:59:31

命中率越高 – 策略越好

数据库的模糊查询 work918

在SQL中,模糊查询可以使用LIKE关键字来实现。LIKE关键字后面可以跟一个模式,其中%表示任意数量的字符,_表示一个字符。

例如,如果你想在一个名为students的表中查找所有名字以Li开头的学生,你可以这样做:

SELECT * FROM students WHERE name LIKE 'Li%';

如果你想查找名字中包含Li的学生,你可以这样做:

SELECT * FROM students WHERE name LIKE '%Li%';

如果你想查找名字长度为3,且第二个字符是i的学生,你可以这样做:

SELECT * FROM students WHERE name LIKE '_i%';

%和_区别

在SQL中,%和_都是用于模糊查询的通配符,但它们的用法有所不同:

  1. - %:表示任意数量的字符(包括0个字符)。例如,'Li%‘可以匹配’Li’,‘Lily’,'Lion’等。
  2. - :表示一个字符。例如,'Li’可以匹配’Lily’,但不能匹配’Li’或’Lion’。

这是一个例子来说明它们的区别:

SELECT * FROM students WHERE name LIKE 'Li%'; -- 匹配所有以'Li'开头的名字
SELECT * FROM students WHERE name LIKE 'Li_'; -- 只匹配名字为三个字符,且以'Li'开头的名字

单表无条件查询格式

在这里插入图片描述

DISTINCT关键字用于返回唯一的记录。它会删除结果集中的重复行。

例如,如果你有一个名为students的表,其中有一个名为major的列,你可以使用DISTINCT来找出所有不同的专业:

SELECT DISTINCT major FROM students;

这将返回一个列表,其中每个专业只出现一次,即使在students表中有多个学生具有相同的专业。

请注意,DISTINCT关键字作用于所有列。例如,如果你选择多列,DISTINCT将返回唯一的行组合:

SELECT DISTINCT major, year FROM students;

这将返回所有唯一的major和year组合。如果两个学生具有相同的专业和年份,他们将只出现一次在结果集中。

举例:

在这里插入图片描述

排序怎么写

在SQL中,你可以使用ORDER BY关键字对查询结果进行排序。你可以根据一个或多个列进行排序,并可以指定升序(ASC)或降序(DESC)。

例如,如果你有一个名为students的表,你可以按照name列进行升序排序:
SELECT * FROM students ORDER BY name ASC;
你也可以按照name列进行降序排序:
SELECT * FROM students ORDER BY name DESC;
如果你想按照多个列进行排序,你可以在ORDER BY后面列出这些列,用逗号分隔。

例如,你可以先按照major排序,然后在每个major内部按照name排序:

SELECT * FROM students ORDER BY major ASC, name ASC;

举例

在这里插入图片描述

数据库只要前五行,只要录入的前五个

SELECT * FROM table_name LIMIT 5;
或者(等价于)
SELECT * FROM table_name LIMIT 0,10;

在这里插入图片描述

那再对积分的情况*2输出排序

在这里插入图片描述

积分暴涨

方式一:

(1)CASE

SELECT `sname`,`zy`,`jf`, 
   CASE 
     WHEN `zy` LIKE '%应用%' THEN `jf`+ 10 
     WHEN `zy` LIKE '%1%' THEN `jf` + 20 
      ELSE `jf`
     END AS updated_points 
FROM `stu_stu1`

(2)IF

SELECT `sname`, `zy`, `jf`,
       IF(`zy` LIKE '%应用%', `jf` + 10,
       IF(`zy` LIKE '%1%', `jf` + 20, `jf`)
       ) AS updated_points
FROM `stu_stu1`

在这里插入图片描述

方式二

SELECT `sname`,`zy`,`jf`, 
   CASE 
     WHEN `zy` LIKE '%应用%' THEN `jf`+ 10 
     WHEN `zy` LIKE '%1%' THEN `jf` + 20 
      ELSE `jf`
     END AS updated_points 
FROM(
    
    )AS sss
select '' AS ,'' AS ,FROMtable——name’ where zy =“名称”
SELECT `sname`,`zy`,`jf` FROM (SELECT `sname`, `zy`,`jf`
    FROM `stu_stu1`)AS sss WHERE `zy`='计算机应用'
select '' AS ,'' AS ,FROMtable——name’ where zy =“名称”
SELECT `sname`,`zy`,`jf` FROM (SELECT `sname`, `zy`,`jf`
    FROM `stu_stu1`)AS sss WHERE `zy`='计算机应用'
更多推荐

Vulnhub系列靶机---Deathnote: 1死亡笔记

文章目录信息收集主机发现端口扫描目录扫描dirsearchgobusterdirb扫描漏洞利用wpscan扫描Hydra爆破总结靶机文档:Deathnote:1下载地址:Download(Mirror)难易程度:soEasy信息收集主机发现端口扫描访问靶机的80端口,报错,如下图显示:地址栏输入地址后,自动跳转到一个域

让Mac菜单栏变得更加美观整洁——Bartender 5

Bartender5是一款Mac电脑上的菜单栏图标管理软件,能够帮助您把菜单栏上的图标整理得更加美观、整洁和易于使用。如果您的菜单栏上充斥着许多图标,导致视觉上很不舒适和疲劳,那么Bartender5就是解决这一问题的最佳选择!Bartender5的操作相当简单,它可以隐藏菜单栏上不常用的图标,只在需要时出现。也可以把

Python是人工智能的最佳选择吗?看看它的优势和局限

人工智能(ArtificialIntelligence,AI)是当今科技领域最热门的话题之一,它涉及到计算机科学、数学、统计学、心理学等多个学科的交叉和融合。人工智能的目标是让机器能够模拟和超越人类的智能,实现自主学习、推理、决策等能力。要实现人工智能,就需要用到编程语言。编程语言是人类和机器之间沟通的桥梁,它可以让我

Python asynchat模块-异步套接字处理-服务器程序示例

介绍此模块在asyncore架构上建立,简化了异步客户端和服务器,并且使得处理元素为任意字符串结束或者为变长度的协议更加容易。asynchat定义了一个可以由使用者来子类化的抽象类async_chat,提供了collect_incoming_data()和found_terminator()等方法的实现。它使用与asy

【腾讯云 Cloud Studio 实战训练营】使用云IDEA,快速构建React完成点餐H5页面

文章目录前言简介优势项目介绍实战教学注册流程创建工作空间环境配置安装antd-mobile安装less和less-loader暴露webpack配置文件修改config/webpack.config.js文件安装normalize上传项目素材替换App.js主文件创建index.less文件启动项目清理实验先停止项目再

在 Windows 上直接安装 React

🎬岸边的风:个人主页🔥个人专栏:《VUE》《javaScript》⛺️生活的理想,就是为了理想的生活!目录必备条件创建React应用本指南将介绍如何使用create-react-app工具链直接在Windows上安装React。如果你不熟悉React并且正好有兴趣学习,我们建议遵循以下说明。如果你要创建一个单页应用

【九章斩题录】Leetcode:判定字符是否唯一(C/C++)

精品题解🔥《九章斩题录》👈猛戳订阅面试题01.01.判定字符是否唯一✅模板:C语言classSolution{public:boolisUnique(stringastr){}};💭思考:《程序员面试金典》里的题,这题和剑指Offer的"数组中重复的数字"几乎一模一样啊,只是重复的数字变成了重复的字符,判断"重复

【python爬虫】—星巴克产品

文章目录需求爬取星巴克产品以及图片,星巴克菜单python爬虫爬取结果需求爬取星巴克产品以及图片,星巴克菜单网页分析:首先,需要分析星巴克官方网站的结构,了解菜单栏的位置、布局以及菜单项的标签或类名等信息。发送HTTP请求:使用Python的requests模块发送HTTPGET请求,获取星巴克网页的HTML内容。解析

爬虫异常处理技巧分享

在进行爬虫数据采集的过程中,我们常常会遇到网络波动和自动化验证等异常情况。这些问题可能导致爬虫运行中断或被识别为机器请求而受到限制。本文将分享一些实用的爬虫异常处理技巧,帮助您规避网络波动和自动化验证,提高数据采集的稳定性和成功率。一、处理网络波动1.设置重试机制:当爬取过程中遇到网络错误或超时,在合理的时间范围内进行

爬虫入门基础-Selenium反爬

在网络时代,爬虫作为一种强大的数据采集工具,被广泛应用于各行各业。然而,许多网站为了防止被恶意爬取数据,采取了各种反爬虫机制。为了能够成功地绕过这些机制,Selenium成为了爬虫领域的一把利器。本文将为你介绍爬虫入门基础,并重点探讨如何使用Selenium应对反爬虫的挑战。一、爬虫入门基础1、定义:爬虫是一种模拟浏览

minikube搭建k8s

环境:centos7,docker18minikube搭建k8s说明minikube是最接近原生kubernetes的本地单机版集群,支持大部分kubernetes功能,用于学习和开发k8s。支持Linux、Windows、Mac官网安装文档安装前提一台物理机或者虚拟机,物理机CPU大于2核vcpu、2G内存、20G磁

热文推荐