当前位置: 首页 > news >正文

【SQL学习进阶】从入门到高级应用(二)

文章目录

  • 简单查询
    • 查一个字段
    • 查多个字段
    • 查所有字段
    • 查询时字段可参与数学运算
    • 查询时字段可起别名
      • as关键字
      • 省略as关键字
      • 别名中有空格
      • 别名中有中文

🌈你好呀!我是 山顶风景独好
💝欢迎来到我的博客,很高兴能够在这里和您见面!
💝希望您在这里可以感受到一份轻松愉快的氛围!
💝不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!

欢迎大家订阅本专栏!本专栏旨在为SQL初学者提供一条逐步迈向高级应用的学习之路,带您从零开始,一步一步练习,逐步掌握SQL的精髓,实现技能的提升与飞跃!

上一篇:【SQL学习进阶】从入门到高级应用(一)

简单查询


查询是SQL语言的核心,用于表达SQL查询的select查询命令是功能最强也是最为复杂的SQL语句,它的作用就是从数据库中检索数据,并将查询结果返回给用户。 select语句由:select子句(查询内容)、from子句(查询对象)、where子句(查询条件)、order by子句(排序方式)、group by子句(分组方式)等组成。查询语句属于SQL语句中的DQL语句,是所有SQL语句中最为复杂也是最重要的语句,所以必须掌握。接下来我们先从简单查询语句开始学习。

查一个字段


查询一个字段说的是:一个表有多列,查询其中的一列。
语法格式:select 字段名 from 表名;

  • select和from是关键字,不能随便写
  • 一条SQL语句必须以“;”结尾
  • 对于SQL语句来说,大小写都可以
  • 字段名和表名属于标识符,按照表的实际情况填写,不知道字段名的,可以使用desc命令查看表结构

案例1:查询公司中所有员工编号

select empno from emp; 

image.png
案例2:查询公司中所有员工姓名

SELECT ENAME FROM EMP;

image.png
在mysql命令行客户端中,sql语句没有分号是不会执行的:
image.png
末尾加上“;”就执行了:
image.png
以上sql虽然以分号结尾之后执行了,但是报错了,错误信息显示:语法错误。
假设一个SQL语句在书写过程中出错了,怎么终止这条SQL呢?\c
image.png

  • 任务1:查询所有部门名称。
  • 任务2:查询所有薪资等级。

查多个字段


查询多个字段时,在字段名和字段名之间添加“,”即可。
语法格式:select 字段名1,字段名2,字段名3 from 表名;
案例1:查询员工编号以及员工姓名。

select empno, ename from emp;

image.png

字段的前后顺序无所谓(只是显示结果列的时候顺序变了):

select ename, empno from emp;

image.png

  • 任务1:查询部门编号、部门名称以及位置。
  • 任务2:查询员工的名字以及工作岗位。

查所有字段


查询所有字段的可以将每个字段都列出来查询,也可以采用“*”来代表所有字段
案例1:查询员工的所有信息

select * from emp;

image.png
案例2:查询所有部门信息

select * from dept;

image.png
采用“*”进行查询存在的缺点:

  • select * from dept; 在执行的时候会被解析为 select DEPTNO, DNAME, LOC from dept; 再执行,所以这种效率方面弱一些。
  • 采用“”的可读性较差,通过“”很难看出都有哪些具体的字段。

什么时候使用“*”?

  • 这个SQL语句不在项目编码中使用,如果平时自己想快速查看表中所有数据的话,这种写法还是很给力的。

  • 任务1:查询所有的薪资等级以及每个薪资等级的最低工资和最高工资。

查询时字段可参与数学运算


在进行查询操作的时候,字段是可以参与数学运算的,例如加减乘除等。
案例1:查询每个员工的月薪

select ename, sal from emp;

image.png
案例2:查询每个员工的年薪(月薪 * 12)

select ename, sal * 12 from emp;

image.png

  • 任务1:查询每个员工月薪加1000之后的月薪
  • 任务2:查询每个员工月薪加1000之后的年薪

查询时字段可起别名


我们借用一下之前的SQL语句

select ename, sal * 12 from emp;

image.png
以上的查询结果列名“sal * 12”可读性较差,是否可以给查询结果的列名进行重命名呢?

as关键字

  • 使用as关键字
select ename, sal * 12 as yearsal from emp;

image.png
通过as关键字起别名后,查询结果列显示yearsal,可读性增强。

省略as关键字

  • 其实as关键字可以省略,只要使用空格即可
select ename, sal * 12 yearsal from emp;

image.png

  • 通过以上测试,得知as可以省略,可以使用空格代替as,但如果别名中有空格呢?

别名中有空格

select ename, sal * 12 year sal from emp;

image.png
可以看出,执行报错了,说语法有问题,这是为什么?分析一下:SQL语句编译器在检查该语句的时候,在year后面遇到了空格,会继续找from关键字,但year后面不是from关键字,所以编译器报错了。怎么解决这个问题?记住:如果别名中有空格的话,可以将这个别名使用双引号或者单引号将其括起来。

select ename, sal * 12 "year sal" from emp;
select ename, sal * 12 'year sal' from emp;

image.png
在mysql中,字符串既可以使用双引号也可以使用单引号,但还是建议使用单引号,因为单引号属于标准SQL。

别名中有中文

  • 如果别名采用中文呢?
select ename, sal * 12 年薪 from emp;

image.png
别名是中文是可以的,但是对于低版本的mysql来说会报错,需要添加双引号或单引号。我们当前使用的mysql版本是:8.0.24

  • 任务:查询所有员工的信息,要求每个字段名采用中文显示。

相关文章:

【SQL学习进阶】从入门到高级应用(二)

文章目录 简单查询查一个字段查多个字段查所有字段查询时字段可参与数学运算查询时字段可起别名as关键字省略as关键字别名中有空格别名中有中文 🌈你好呀!我是 山顶风景独好 💝欢迎来到我的博客,很高兴能够在这里和您见面&#xf…...

FL Studio v21.2.3.4004中文破解版百度网盘下载

FL Studio v21.2.3.4004中文破解版是一款完整的软件音乐制作环境或数字音频工作站 (DAW)。代表了超过 18 年的创新发展,它在一个软件包中提供了您创作、编曲、录制、编辑、混音和掌握专业品质音乐所需的一切。FL Studio v21.2.3.4004中文破解版现在是世界上最受欢迎…...

从0开始写一个环境保护网站的第3天(JAVAWEB)

1.目标 实现首页的环境保护原因的查询,和底部友情连接部分 2.实现 2.1建立数据库表格(这里数据全是百度查询) 环境保护原因表: 友情连接表:(数据来源https://zhuanlan.zhihu.com/p/696243646&#xff0…...

Java中volatile关键字

保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的,volatile关键字会强制将修改的值立即写入主存。 1.volatile的可见性 一个典型的例子:永不停止的循环。 public class Forever…...

医院挂号就诊系统的设计与实现

前端使用Vue.js 后端使用SpiringBoot MyBatis 数据使用MySQL 需要项目和论文加企鹅:2583550535 医院挂号就诊系统的设计与实现_哔哩哔哩_bilibili 随着社会的发展,医疗资源分布不均,患者就诊难、排队时间长等问题日益突出,传统的…...

SpringBoot整合RabbitMQ的快速使用教程

目录 一、引入依赖 二、配置rabbitmq的连接信息等 1、生产者配置 2、消费者配置 三、设置消息转换器 四、生产者代码示例 1、配置交换机和队列信息 2、生产消息代码 五、消费者代码示例 1、消费层代码 2、业务层代码 在分布式系统中,消息队列是一种重要…...

pytorch比较操作

文章目录 常用的比较操作1.torch.allclose()2.torch.argsort()3.torch.eq()4.torch.equal()5.torch.greater_equal()6.torch.gt()7.torch.isclose()8.torch.isfinite()9.torch.isif()10.torch.isposinf()11.torch.isneginf()12.torch.isnan()13.torch.kthvalue()14.torch.less_…...

2024年4月—马克思主义基本原理概论真题及答案解析(上海自考)

目录 1.选择题 2.简答题 3.论述题 1.选择题 2.简答题...

「Element-UI表头添加带Icon的提示信息」

一、封装全局组件 &#x1f353; 注意&#xff1a;可以直接复制该文件 <!-- // 写一个PromptMessage的组件&#xff0c;并全局注册 --> <template><div class"tooltip"><el-tooltip effect"dark" placement"right">&l…...

单细胞 10X 和seurat对象学习

单细胞seurat数据的基础知识 rm(list ls()) library(Seurat) #注意这个报错 #Warning: Feature names cannot have underscores (_), replacing with dashes (-) folderslist.files(./,pattern[123]$) folders scList lapply(folders,function(folder){ CreateSeuratObject(…...

Flutter 中的 Flex 小部件:全面指南

Flutter 中的 Flex 小部件&#xff1a;全面指南 Flutter 的布局系统非常灵活&#xff0c;允许开发者以声明式的方式构建复杂的用户界面。Flex 是 Flutter 中用于创建灵活布局的核心小部件之一&#xff0c;它提供了水平和垂直的线性布局能力。本文将详细介绍 Flex 小部件的使用…...

统计每个活动的用户访问量,且每个用户仅统计一次

场景&#xff1a;统计每个活动的用户访问量&#xff0c;且每个用户仅统计一次。 首先活动表是已经存在了的&#xff0c;一般情况下&#xff0c;我们都会在创建一个用户访问表&#xff0c;其中唯一主键是用户ID活动ID作为唯一主键 create table user_visist_activity_record(i…...

基于SpringBoot的本科生考研率统计系统

基于SpringBoot的本科生考研率统计系统 一、开发技术二、功能模块三、代码结构四、数据库设计五、运行截图六、源码获取 一、开发技术 技术&#xff1a;SpringBoot、MyBatis-Plus、Redis、MySQL、Thymeleaf、Html、Vue、Element-ui。 框架&#xff1a;基于开源框架easy-admin开…...

JMeter正则表达式提取器和JSON提取器基础用法,小白必会!

最近在利用JMeter做接口自动化测试&#xff0c;正则表达式提取器和JSON提取器用的还挺多&#xff0c;想着分享下&#xff0c;希望对大家的接口自动化测试项目有所启发。 在 JMeter 中&#xff0c;正则表达式和 JSON 提取器都是用于从响应数据中提取所需内容&#xff0c;但它们…...

5-26作业

网络聊天室 服务器&#xff1a; 1 #include <myhead.h>2 int main(int argc, const char *argv[])3 {4 if(argc!3)5 {6 printf("请输入IP和端口号\n");7 return -1;8 }9 int sfd socket(AF_INET, SOCK_DGRAM, 0);10 if(…...

2024.05.28学习记录

1. 小林coding 计网复习 2.代码随想录刷题. 图论.和复习数组.链表 3.rosebush完成select组件...

撤销最近一次的提交,使用git revert 和 git reset的区别

文章目录 工作区 暂存区 本地仓库 远程仓库需求&#xff1a;已推送到远程仓库&#xff0c;想要撤销操作git revert &#xff08;添加新的提交来“反做”之前的更改&#xff0c;云端会残留上次的提交记录&#xff09;git reset&#xff08;相当于覆盖上次的提交&#xff09;1.--…...

MySQL详细安装、配置过程,多图,详解

本文适合centos7环境下安装mysql&#xff0c;在安装和卸载过程中&#xff0c;都在root用户下完成。文章目录 清理环境获取mysql官方yum源安装mysql yum源安装mysql服务安装报错解决办法验证是否安装完成启动mysql服务登录服务方法一&#xff1a;方法二&#xff1a;方法三&#…...

音视频学习规划

文章目录 概述闲聊点 小结 概述 最近在学习音视频&#xff0c;觉得还是要先写个提纲&#xff0c;给自己制定下学习路线及目标。先写下我的个人流程及思路。 ffmpeg的命令ffmpeg api播放器流媒体RTMP&#xff0c;HLS 闲聊点 先说下学习命令行吧&#xff0c;学习命令行是为了…...

代码随想录算法训练营第21天|● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先

二叉搜索树的最小绝对差 题目连接 https://leetcode.cn/problems/minimum-absolute-difference-in-bst/ 思路&#xff1a; 利用二叉搜索树的中序遍历的特性&#xff0c;将二叉树转成有序数组&#xff0c;进而求任意两个数的最小绝对差。 代码 /*** Definition for a bina…...

K8S中Prometheus+Grafana监控

1.介绍 phometheus:当前一套非常流行的开源监控和报警系统。 运行原理&#xff1a;通过HTTP协议周期性抓取被监控组件的状态。输出被监控组件信息的HTTP接口称为exporter。 常用组件大部分都有exporter可以直接使用&#xff0c;比如haproxy,nginx&#xff0c;Mysql,Linux系统信…...

题解:CF1968F(Equal XOR Segments)

题解&#xff1a;CF1968F&#xff08;Equal XOR Segments&#xff09; 题目翻译&#xff1a;定义一个序列是好&#xff0c;当且仅当可以将其分成大于 1 1 1 份&#xff0c;使得每个部分的异或和相等。现在给定一个长度为 n n n 的序列 a a a&#xff0c;以及 q q q 次查询…...

Python操作MySQL实战

文章导读 本文用于巩固Pymysql操作MySQL与MySQL操作的知识点&#xff0c;实现一个简易的音乐播放器&#xff0c;拟实现的功能包括&#xff1a;用户登录&#xff0c;窗口显示&#xff0c;加载本地音乐&#xff0c;加入和删除播放列表&#xff0c;播放音乐。 点击此处获取参考源…...

【Linux系统】进程间通信

本篇博客整理了进程间通信的方式管道、 system V IPC的原理&#xff0c;结合大量的系统调用接口&#xff0c;和代码示例&#xff0c;旨在让读者透过进程间通信去体会操作系统的设计思想和管理手段。 目录 一、进程间通信 二、管道 1.匿名管道 1.1-通信原理 1.2-系统调用 …...

北大国际医院腹膜后纤维化课题组 多学科协作开辟治疗新径

腹膜后纤维化(Retroperitoneal Fibrosis,简称RPF)是一种罕见的自身免疫性疾病,其核心特征是纤维组织的异常增生与硬化。这种疾病主要影响肾脏下方的腹主动脉和髂动脉区域,增生的纤维组织会逐渐压迫周围的输尿管和下腔静脉,从而导致一系列并发症,包括主动脉瘤、肾功能衰竭等,甚至…...

面试数据库八股文十问十答第七期

面试数据库八股文十问十答第七期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01;关注专栏后就能收到持续更新&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1&#xff09;索引是越多越好吗&#xff…...

【C++题解】1133. 字符串的反码

问题&#xff1a;1133. 字符串的反码 类型&#xff1a;字符串 题目描述&#xff1a; 一个二进制数&#xff0c;将其每一位取反&#xff0c;称之为这个数的反码。下面我们定义一个字符的反码。 如果这是一个小写字符&#xff0c;则它和字符 a 的距离与它的反码和字符 z 的距离…...

【Python编程实战】基于Python语言实现学生信息管理系统

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…...

AI网络爬虫:批量爬取电视猫上面的《庆余年》分集剧情

电视猫上面有《庆余年》分集剧情&#xff0c;如何批量爬取下来呢&#xff1f; 先找到每集的链接地址&#xff0c;都在这个class"epipage clear"的div标签里面的li标签下面的a标签里面&#xff1a; <a href"/drama/Yy0wHDA/episode">1</a> 这个…...

md5强弱碰撞

一&#xff0c;类型。 1.弱比较 php中的""和""在进行比较时&#xff0c;数字和字符串比较或者涉及到数字内容的字符串&#xff0c;则字符串会被转换为数值并且比较按照数值来进行。按照此理&#xff0c;我们可以上传md5编码后是0e的字符串&#xff0c;在…...