SQL查询语句(一)简单查询和简单条件查询

news2024/10/5 19:17:17

        MySQL的所有语句中,我们日常用的最多的其实就是查询语句。因此这篇文章主要介绍查询语句中的一些基础语法。

目录

简单查询

简单条件查询 


简单查询

最简单的查询语句的语法如下所示:

SELECT * FROM student;

 它的语法解析如下:

  • SELECT关键字:表示该语句是个查询语句。
  • *:代表查询所有列
  • FROM关键字:用来指定查询的位置(你要查哪张表)。
  • student:表名

所以这条查询语句的含义是:从student这张表中,查询所有行的所有列的内容并返回结果。

上面这个典型的查询语句其实就代表了简单查询的基本语法规则:SELECT [列名] FROM [表名];

  • [列名]:这个位置可以指定你想要查询的列,因为一张表可能包含多列数据,有时候我们只需要其中部分列的信息,此时我们只需要在这个位置写上具体的列名即可。列名的编写规范包括下面几点规则:
    • 多个列之间用逗号(半角,也就是英文的逗号)分隔,*号表示查询所有列。
    • 最后一个列名后一定不能加逗号,不然会出错
    • 列名的表示形式有缩写型和全限定型:
      • 缩写型:当要查询的表格只有一个时,可以直接写列名。
      • 全限定型:表名.列名,这种表达形式的好处是,限定死了是哪一张表的哪一列;当存在两个表格的列名相同时,不会出现混淆的情况。
    • 如下:
      SELECT name,age FROM student;
      SELECT student.name,student.age FROM student;

      上面两条语句都表示一样的含义:查询student表中所有行的name和age列的数据,并返回结果。

  • [表名]:同上面例子一样,指定我们要从哪一张表中查询数据,多个表之间用逗号隔开。

虽然简单查询的语法很简单,但是有几下几点规范最好遵守:

  1. 虽然在MySQL中一般不区分大小写,但是关键字最好还是采用全大写的形式。
  2. 每条SQL语句都必须以分号;结尾。

        简单查询的语法非常简洁明了,但是细心的同学可能发现了,它会直接将整张表中所有行的数据都查询出来;而在日常开发环境的大多数情况下,我们都不需要查询出某张表中全部行的数据,而是按照某些特定的条件,从表中找到我们所需要的数据,因此条件查询是查询语句的核心部分,这里我们介绍相对简单的条件查询。 

简单条件查询 


        在讲条件查询之前,我们需要先知道一个概念,那就是 子句:无论是简单的SQL语句还是复杂的SQL语句都是由一个一个的子句组合在一起构成的,有些子句是必须的,有些子句是可选的,一个子句通常由一个关键字和所提供的数据组成,例如我们前面讲的最简单的查询语句SELECT * FROM student;它就是一个SELECT子句,并且这个子句在查询语句中是必不可少的。因此学习SQL的过程,其实就是学习一个个子句的过程,不同的子句有着不同的作用,有着不同的规范和不同的摆放位置,只要我们掌握了这些子句,剩下的就是利用这些子句去灵活的组合,来达到你想要的目的,而这是光看课本无法学会的,需要大量的练习。

首先,条件查询的子句由WHERE关键字和条件组成,它的基本语法是:

SELECT [列名] FROM [表名]
WHERE 条件;

例如下面这条语句:

SELECT * FROM student
WHERE name = '张三';

 它的语法解析如下:

  • 首先这条SQL语句由两个子句构成
    • SELECT子句:必须子句,指明了需要查询的列以及从哪张表格中查
    • WHERE子句:可选子句,指明了查询的条件
  • 这条子句的含义是:从student表中,找出满足条件name = '张三'的所有的行,并且返回这些行的所有列的信息。

        当然,条件查询时,不仅有等值判断,还有许多其它的判断条件,具体可以参照下表:

条件查找
符号含义
=等于
>大于
>=大于等于
<小于
<=小于等于
!=或<>不等于

        除了这写普通的运算符之外,WHERE子句还支持另外几种关键字形式的运算操作符,分别是逻辑预算关键字AND,OR,NOT以及范围值查找关键字BETWEEN,IN。这些我们会在下一篇文章中介绍。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【软测学习笔记】Python入门Day02

&#x1f31f;博主主页&#xff1a;我是一只海绵派大星 &#x1f4da;专栏分类&#xff1a;软件测试笔记 &#x1f4da;参考教程&#xff1a;黑马教程❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ python安装 1、进入Python的官方下载页面&#xff1a; Download Python | Py…

如何在已经安装好的PostgreSQL14中安装uuid 扩展

当前环境 PG14.8 LINUX 8.8 存在问题&#xff1a; 开发人员问&#xff0c;PG中&#xff0c;支持 生成UUID吗&#xff0c;具体是什么&#xff0c;答&#xff0c;类似这个函数 uuid_generate_v4() 看了一下&#xff0c; select uuid_generate_v4();会报错&#xff0…

“视频号小店”和“抖音小店”新手做电商选择哪个更好?

哈喽~我是电商月月 做电商的老商家和&#xff0c;准备做电商的新手朋友都知道现在最大的电商平台就是“抖音小店” 但抖店小店毕竟发展了四年&#xff0c;流量多&#xff0c;商家也多&#xff0c;最近又崛起了一个新黑马“视频号小店” 那到底去哪个平台发展才有前景呢&…

QX-mini51学习---(2)点亮LED

目录 1什么是ed 2led工作参数 3本节相关原理图分析 4本节相关c 5实践 1什么是ed 半导体发光二极管&#xff0c;将电能转化为光能&#xff0c;耗电低&#xff0c;寿命长&#xff0c;抗震动 长正短负&#xff0c;贴片是绿点处是负极 2led工作参数 3本节相关原理图分析 当…

一文读懂Python的`__init__`,`__init__`方法的终极指南

大家好&#xff0c;今天给大家介绍一个Python中一个特殊的函数__init__。 在Python中&#xff0c;__init__方法是一个特殊的函数&#xff0c;它在创建类的新实例时自动调用。它的作用类似于其他编程语言中的构造函数&#xff0c;用于初始化对象的状态。这篇文章将带你深入了解…

LeetCode刷题记(五):121~150题

121. 买卖股票的最佳时机 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从…

用PowerPoint创建毛笔字书写动画

先看看下面这个毛笔字书写动画&#xff1a; 这个动画是用PowerPoint创建的。下面介绍创建过程。 1、在任何一款矢量图片编辑软件中创建一个图片&#xff0c;用文字工具输入文字内容。我用的是InkScape。排好版后将图片保存为.svg格式的矢量图片文件。 2、打开PowerPoint&…

强一致性的皇冠:分布式事务模型的至高法则揭秘

关注微信公众号 “程序员小胖” 每日技术干货&#xff0c;第一时间送达&#xff01; 引言 分布式事务模型是分布式系统设计的核心&#xff0c;关键在于保证数据一致性和事务完整性&#xff0c;尤其强调强一致性。诸如2PC、3PC、Saga、TCC等模型与协议&#xff0c;应运而生以解…

elementui+vue通过下拉框多选字段进行搜索模糊匹配

从字典中选择的值为["01","03"],在最开始的时候进行的处理是类似于表单提交的时候将json对象转换成了String类型 nature:["01","03"] this.queryParams.nature JSON.stringify(this.queryParams.nature); mapper层 <if test&quo…

keystone学习小结

1 keystone middleware 1.1 工作流程 middleware在客户端和服务端之间&#xff0c;会拦截客户端请求并判断请求身份是否是正确合法的&#xff0c;若是&#xff0c;则继续将请求发给其他middleware或app 具体看&#xff0c;干了这些事 1将请求里的auth header去除&#xff0c…

【FL常用插件#1】Ozone11臭氧的安装和使用

本文内容收集自互联网&#xff0c;仅供个人学习参考使用&#xff0c;不允许用于商业用途&#xff0c;造成的侵权行为与本文作者无关 安装 VST2、VST3、AAX和NKS是音频技术界常见的几种插件格式&#xff0c;它们在功能和兼容性上有所不同&#xff1a; VST2 (Virtual Studio Tec…

QT--2

Qt界面设计 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {//窗口相关设置this->resize(680,520);this->setFixedSize(680,520);this->setWindowTitle("Tim");this->setWindowFla…

ES集群设置访问密码

1 新增配置 每个集群节点都需要设置&#xff0c;编辑 elasticsearch.yml 文件&#xff1a; cd /home/isearch/es vi es-cluster-01/config/elasticsearch.yml vi es-cluster-02/config/elasticsearch.yml vi es-cluster-03/config/elasticsearch.yml # 设置启用了X-Pack安全…

Linux专栏10:Linux权限详解(上)

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Linux专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Linux权限详解&#xff08;上&#xff09; 编号&#xff1a;10 文章…

CANdela/Diva系列1--CANdela Studio的基本介绍

大家好&#xff0c;这个系列主要给大家介绍跟诊断相关的Vector 工具CANdela和Diva&#xff0c;首先介绍CANdela。 目录 1.CANdela的简介&#xff1a; 2.如何打开CANdela 工程&#xff1a; 3.CANdela工程的详细介绍&#xff1a; 3.1 工具栏的介绍&#xff1a; 3.2 工作树的…

HarmonyOS开发案例:【电子相册】

介绍 如何实现一个简单的电子相册应用的开发&#xff0c;主要功能包括&#xff1a; 实现首页顶部的轮播效果。 实现页面跳转时共享元素的转场动画效果。 实现通过手势控制图片的放大、缩小、左右滑动查看细节等效果。 相关概念 [Swiper]&#xff1a;滑块视图容器&#x…

软件系统测试方案书(测试计划-Word原件)

2 引言 2.1 编写目的 2.3 测试人员 2.4 项目背景 2.5 测试目标 2.6 简写和缩略词 2.7 参考资料 2.8 测试提交文档 2.9 测试进度 3 测试环境 3.1 软硬件环境 4 测试工具 5 测试策略 5.1 测试阶段划分及内容 5.1.1 集成测试 5.1.2 系统测试 5.1.2.1 功能测试 5.…

通过mask得到bbox(numpy实现)

在SAM的加持下&#xff0c;我们很容易得到物体的mask&#xff0c;但是物体的bbox信息通常也很有用。那么&#xff0c;我们可以写一个函数&#xff0c;立马可以通过mask得到bbox。 代码如下&#xff1a; import numpy as npdef mask2bbox(mask):nonzero_indices np.nonzero(m…

阿里云CentOS 7.9 64位 Liunx 安装redis

具体的步骤如下&#xff1a; 添加 EPEL 仓库&#xff0c;因为 Redis 在标准的 CentOS 仓库中不可用&#xff1a; sudo yum install epel-release安装 Redis&#xff1a; sudo yum install redis启动 Redis 服务&#xff1a; sudo systemctl start redis如果你想让 Redis 在…

python中numpy库使用

array数组 生成array数组 将list转化为array数组 import numpy as np np.array([1,2],typenp.int32)其中dtype定义的是元素类型&#xff0c;np.int32指32位的整形 如果直接定义dtypeint 默认的是32位整形。 zeors和ones方法 zeros()方法&#xff0c;该方法和ones()类似&a…