数据库MYSQL no.2

news2024/9/20 22:50:41

1.加法 +

加法:在java中有运算和拼接的功能,但是数据库中加号只做运算。

拼接是concat(...,...)

2. IFNULL

ifnull(字段,0) 为null就返回逗号后面的东西0.

3.条件查询:

1.条件表达式 :>、<、=、!=/<>、>=、<=

2.逻辑表达式 :&&、||、!、and、or、not

3.模糊查询 :like、between and、in、is null

4.转义 : \

在模糊查询时,下划线分不清楚的时候可以用转义。

例如:查找名字第三个字符为e  like '__e%'

5.通配符

百分号和下划线

' %a% '  ' _e '

6.其他

1.between 100 and 120 包含边界值100、120.并且100和120不可以调换顺序。

2.in( )  里面的值类型要兼容统一,不支持通配符

3.安全等于:<=>, 判断是否等于

7.代码练习

-- 加号+  
-- mysql中的加号功能就是作为运算符。
select 100+90; 
SELECT '123'+90; -- 一方为字符 就将字符转化成数值型
SELECT 'John'+90; -- 转化失败就将字符当0 继续做运算
SELECT NULL+90; -- 一方为null 结果为null

-- 拼接 concat函数
SELECT CONCAT(last_name,first_name) as 姓名 FROM employees;

-- 练习
SELECT last_name,job_id,salary as sal FROM employees;
SELECT * FROM employees;
DESC employees;
SELECT * FROM departments;
SELECT DISTINCT job_id FROM employees;
-- IFNULL(commission_pct,0))判断是否为空函数
SELECT CONCAT(hiredate,first_name,IFNULL(commission_pct,0)) as out_put FROM employees;
SELECT IFNULL(commission_pct,0) AS 奖金率,commission_pct FROM employees;

-- 条件查询 where + 筛选条件
 -- and ,or ,not ,<> ,like ,between and ,in ,is null.
 -- 按条件表达式筛选
 -- 查询工资大于10000的员工信息
	SELECT * FROM employees WHERE salary>10000;
	-- 查询部门编号不等于90号的员工名和部门编号
	SELECT last_name,department_id FROM employees WHERE department_id!=90;
	SELECT last_name,department_id FROM employees WHERE department_id<>90;
-- 按逻辑表达式筛选
-- 查询工资在10000到20000之间的员工名、工资以及奖金
SELECT employee_id,salary,commission_pct FROM employees WHERE salary>=10000 AND salary<=20000; 
-- 查询部门编号不是在90到110之间的,或者工资高于15000的员工信息
SELECT * FROM employees WHERE department_id<90 OR department_id>110 OR salary>=15000; 
SELECT * FROM employees WHERE department_id>=90 AND department_id<=110 OR salary>=15000;

-- 模糊查询
-- like \ BETWEEN AND \ in \ IS NULL \ is not null 
-- 查询员工名中包含字符a的员工信息
SELECT * FROM employees WHERE first_name LIKE '%a%';
-- 查询第三个字符为n 第五个字符为l
SELECT last_name,salary FROM employees WHERE last_name LIKE '__n_l%';
-- 查询员工名中第二个字符为_的员工名
SELECT last_name FROM employees WHERE last_name LIKE '_\_%';
SELECT last_name FROM employees WHERE last_name LIKE '_*_%' ESCAPE '*';
-- ESCAPE转义

-- BETWEEN AND
-- 查询员工编号在100到120之间的员工数据
SELECT * FROM employees WHERE department_id BETWEEN 100 AND 120;

-- in  提高语句简洁度 
-- 查询员工的工种编号是 IT_PROG AD_VP
SELECT last_name,job_id FROM employees WHERE job_id IN('IT_PROT','AD_VP');

-- is null
-- 查询没有奖金的员工名和奖金率
SELECT last_name,commission_pct FROM employees WHERE commission_pct is NULL;
-- <=> 安全等于
SELECT last_name,commission_pct FROM employees WHERE commission_pct <=> NULL;

-- 练习
-- 查询员工号为176的员工的姓名和部门号和年薪
SELECT last_name,department_id,salary*12*(1+ISNULL(commission_pct,0)) as 年薪 FROM employees;
-- 查询工资大于12000的员工姓名和工资
SELECT last_name,salary FROM employees WHERE salary>12000;
-- 选择工资不在5000 到12000 的员工姓名和工资
SELECT last_name,salary FROM employees WHERE salary<=5000 or salary >12000;
-- 选择在20或50号部门工作的员工姓名和工资
SELECT last_name,salary,department_id FROM employees WHERE department_id=20 or department_id=50;
-- 选择公司中没有管理者的员工姓名及job_id
SELECT last_name,job_id FROM employees WHERE job_id NOT in('ST_MAN');
-- 选择公司中有奖金的员工姓名,工资和奖金级别
SELECT last_name,salary,commission_pct FROM employees WHERE commission_pct is NOT NULL; 
-- 选择员工姓名的第三个字母是a的员工姓名
SELECT last_name FROM employees WHERE last_name LIKE '__a%';
-- 选择姓名中有字母a和e的员工姓名
SELECT last_name FROM employees WHERE last_name LIKE '%ae%';

-- 查询表结构
DESC departments;

-- 查询部门departments 表中涉及到了哪些位置编号
SELECT DISTINCT location_id FROM departments;

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

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

相关文章

第84讲:基于各种场景使用mysqldump逻辑备份数据库

文章目录 1.mysqldump备份工具的语法格式2.使用mysqldump进行全库备份3.备份单个库或者多个库的数据4.备份某个库下的单表或者多表的数据5.mysqldump备份数据库时必加的一些参数5.1.基本参数5.2.核心参数 6.mysqldump备份数据库时的一些其他参数 1.mysqldump备份工具的语法格式…

条件随机场 (CRF) 的损失函数以及faiss 的原理介绍

1、条件随机场 (CRF) 的损失函数 条件随机场&#xff08;CRF&#xff09;是一种统计建模方法&#xff0c;常用于结构化预测问题&#xff0c;如序列标注、分词和命名实体识别等。在CRF模型中&#xff0c;损失函数用于衡量模型预测的标记序列与真实标记序列之间的差异。CRF的目标…

C++-模板与容器

1、模板 模板可以让类或者函数支持一种通用类型&#xff0c;这种通用类型在实际运行过程中可以使用任何数据类型。因此程序员可以写出一些与类型无关的代码。这种编程方式也叫“泛型编程”。 通常有两种形式&#xff1a; 函数模板类模板 1.1 函数模板 //模板类型声明 template&…

【基础篇】九、程序计数器 JVM栈

文章目录 0、运行时数据区域1、程序计数器2、JVM栈3、JVM栈--栈帧--局部变量表4、JVM栈--栈帧--操作数栈5、JVM栈--栈帧--桢数据6、栈溢出7、设置栈空间大小8、本地方法栈 0、运行时数据区域 JVM结构里&#xff0c;类加载器下来&#xff0c;到了运行时数据区域&#xff0c;即Ja…

Navicat for Mysql怎么执行创建表的脚本

Navicat for Mysql怎么执行创建表的脚本 Navicat 怎么执行sql文件 Navicat 执行创建表语句 Navicat 执行sql语句 Navicat 怎么创建表语句 1、打开Navicat数据库管理工具&#xff1b; 2、点击菜单栏上的“工具”&#xff0c;选择“命令列界面”&#xff1b; 打开了命令列界面…

Vue学习计划-Vue3--核心语法(三)computed计算属性、watch监听、watchEffect函数

1. computed计算属性 作用&#xff1a;根据已有数据计算出新数据&#xff08;和Vue2中的computed作用一致&#xff09;。 2. watch监视与watchEffect 1. watch 作用&#xff1a;监视数据的变化&#xff08;和Vue2的watch作用一致&#xff09;特点&#xff1a;Vue3中的watch…

Flume基础知识(五):Flume实战之实时监控目录下多个新文件

1&#xff09;案例需求&#xff1a; 使用 Flume 监听整个目录的文件&#xff0c;并上传至 HDFS 2&#xff09;需求分析&#xff1a; 3&#xff09;实现步骤&#xff1a; &#xff08;1&#xff09;创建配置文件 flume-dir-hdfs.conf 创建一个文件 vim flume-dir-hdfs.conf …

一起学docker(六)| Dockerfile自定义镜像 + 微服务模块实战

DockerFile 是什么 Dockerfile是用来构建Docker镜像的文本文件&#xff0c;是由一条条构建镜像所需的指令和参数构成的脚本。 构建步骤 编写Dockerfile文件docker build命令构建镜像docker run运行镜像 Dockerfile构建过程 基础知识 每个保留字指令都必须为大写字母且后面…

逻辑回归(LR)----机器学习

基本原理 逻辑回归&#xff08;Logistic Regression&#xff0c;LR&#xff09;也称为"对数几率回归"&#xff0c;又称为"逻辑斯谛"回归。 logistic回归又称logistic 回归分析 &#xff0c;是一种广义的线性回归分析模型&#xff0c;常用于数据挖掘&#…

『年度总结』逐梦编程之始:我的2023学习回顾与展望

目录 这篇博客&#xff0c;我将回顾2023年编程之旅的起点&#xff0c;同时展望2024年的新征程。 前言 我与Python 我与C语言 第一篇正式博客&#xff1a; 第二篇正式博客&#xff08;扫雷&#xff09;&#xff1a; 指针学习笔记: C语言学习笔记&#xff1a; 我与数据结构…

SCT52A40——120V,4A,高频高压侧和低压侧栅极驱动器,替代UCC27200/UCC27201/MIC4604YM等

• 8-24V宽供电电压 • 驱动高侧和低侧N通道MOSFET • 4A峰值输出源电流和汇电流 • 升压电源电压范围可达120V • 集成阴极负载二极管 • TTL兼容输入&#xff0c;-10V输入 • 45ns传输延迟 • 1000pF负载下7ns上升和4.5ns下降时间 • 2ns延迟匹配时间 • 静态电流252uA • 15…

JDK、JRE、JVM的联系与区别

JDK、JRE、JVM的联系与区别 一、JDK,JRE,JVM定义 JDK(Java Development Kit),包含JRE,以及增加编译器和调试器等用于程序开发的文件。 JRE(Java Runtime Environment)&#xff0c;包含Java虚拟机、库函数、运行Java应用程序所必须的文件。 JVM(Java Virtual Machine)是一个虚…

Vue中的选项式 API 和组合式 API,两者有什么区别

Vue中的选项式 API&#xff08;Option API&#xff09;和组合式 API&#xff08;Composition API&#xff09;是两种不同的组件编写方式&#xff0c;它们各有特点和适用场景&#xff1a; 选项式 API&#xff08;Option API&#xff09;: 传统方法&#xff1a;Vue最初的编程范式…

LeetCode 热题 100——42. 接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表…

一起玩儿物联网人工智能小车(ESP32)——25. 利用超声波传感器测量距离

摘要&#xff1a;本文介绍如何利用超声波传感器测量障碍物的距离 测量距离是智能小车经常要用到的功能&#xff0c;今天就来介绍一个最常用的测量距离的传感器——超声波传感器。 超声波传感器的测距原理是利用超声波发射器向某个方向发射超声波&#xff0c;与此同时&#xff…

Health System Pro - Plug Play Solution

Health System为您提供了可重复使用的健康组件、健康条和碰撞块组件&#xff0c;可以轻松定制和扩展&#xff0c;以满足任何项目的需求。通过使用Health System&#xff0c;您可以节省时间和精力&#xff0c;避免为每个项目或游戏实体重写健康逻辑&#xff0c;从而带来更高效的…

计算机网络(9):无线网络

无线局域网 WLAN 无线局域网常简写为 WLAN (Wireless Local Area Network)。 无线局域网的组成 无线局域网可分为两大类。第一类是有固定基础设施的&#xff0c;第二类是无固定基础设施的。所谓“固定基础设施”是指预先建立起来的、能够覆盖一定地理范围的一批固定基站。 …

Python----matplotlib库

目录 plt库的字体&#xff1a; plt的操作绘图函数&#xff1a; plt.figure(figsizeNone, facecolorNone): plt.subplot(nrows, ncols, plot_number)&#xff1a; plt.axes(rect)&#xff1a; plt.subplots_adjust(): plt的读取和显示相关函数&#xff1a; plt库的基础图…

Day22 二叉树part08 235.二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点

二叉树part08 235.二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点 235. 二叉搜索树的最近公共祖先 方法一&#xff1a;递归法&#xff08;利用二叉搜索树性质&#xff09; class Solution { public:TreeNode* lowestCommonAncestor(TreeN…

74HC595驱动数码管程序

数码管的驱动分静态扫描和动态扫描两种&#xff0c;使用最多的是动态扫描&#xff0c;优点是使用较少的MCU的IO口就能驱动较多位数的数码管。数码管动态扫描驱动电路很多&#xff0c;其中最常见的是74HC164驱动数码管&#xff0c;这种电路一般用三极管作位选信号&#xff0c;用…