MySQL知识点1
本文基于尚硅谷MySQL以及个人部分总结
基本的SELECT语句
SELECT * FROM employees;
SELECT employee_id ,last_name ,salary FROM employees;
空值参与运算
#空值参与运算 结果一定为空
SELECT employee_id,salary "月工资" ,salary*(1+commission_pct)*12 "年工资" ,commission_pct FROM employees
着重号``
#着重号 ``
#查询常数
SELECT 'scl' ,123,employee_id,last_name FROM employees
#显示表结构
DESCRIBE employees
使用where过滤数据
#过滤数据 WHERE 声明在from 后面
#查询100号部门员工信息
SELECT * FROM employees WHERE employee_id=100 ;
#查询last——name 为king的员工信息
SELECT * FROM employees WHERE last_name='king';
Select语句练习1
#计算十二个月的基本工资 需要考虑插叙员工姓名 id 总工资 =工资*12
SELECT employee_id, last_name, salary * 12 "ANNUAL SALARY" FROM employees
#计算 全部工资 需要考虑空值 使用函数
SELECT employee_id, last_name, salary * 12 * (1+ IFNULL(commission_pct,0)) "ANNUAL SALARY" FROM employees;
去重Distinct
#2.查询employees表中去除重复的job_id以后的数据
SELECT DISTINCT job_id from employees;
3.查询工资大于12000的员工姓名和工资
SELECT employee_id , last_name , salary FROM employees WHERE salary >12000;
4.查询员工号为176的员工的姓名和部门号
SELECT employee_id , last_name ,department_id FROM employees WHERE employee_id=176
5.显示表 departments 的结构,并查询其中的全部数据
运算符
sql中+ 号符 没有连接的作用 就表示加法运算 100+'1' 会将字符串转换为数值 (隐式转换)
取模
#筛选出employee_id是偶数的员工信息
SELECT employee_id FROM employees where employee_id MOD 2=0;
比较运算符
比较运算符用来对表达式左边的操作数和右边的操作数进行比较,比较的结果为真则返回1,比较的结果为假则返回0,其他情况则返回NULL。比较运算符经常被用来作为SELECT查询语句的条件来使用,返回符合条件的结果记录。
等于
安全等于
不等于
between and
BETWEEN AND
#查询公仔6000-8000之间
SELECT employee_id,last_name,salary FROM employees WHERE salary BETWEEN 6000 AND 8000
#不在6000或80000
SELECT employee_id,last_name,salary FROM employees WHERE salary <6000 OR salary>8000
SELECT employee_id,last_name,salary FROM employees WHERE salary Not BETWEEN 6000 AND 8000
in not in
#查询部门号为10 20 30 的员工信息
SELECT employee_id,last_name,salary ,department_id FROM employees WHERE department_id IN (10,20,30);
模糊查询Like
查询字符%xx%
百分号(%):表示任意个或多个字符。可匹配任意类型和长度的字符。
#模糊查询like
#查询name中包含字符a的员工信息 %% 表示不确定个数的字符(0个或多个)
SELECT employee_id,last_name,salary ,department_id FROM employees WHERE last_name LIKE '%a%'
查询x%以x开头的字符
SELECT employee_id,last_name,salary ,department_id FROM employees WHERE last_name LIKE 'a%'
#查询包含 a 且包含e 的
SELECT employee_id,last_name,salary ,department_id FROM employees WHERE last_name LIKE '%a%' AND last_name LIKE '%e%'
下划线(_):表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:(可以代表一个中文字符)
#_ :代表一个不确定的字符
SELECT employee_id,last_name,salary ,department_id FROM employees WHERE last_name LIKE '_a%'
#查询第二个字符是下划线第三个字符是a的员工信息
#需要转义字符
SELECT employee_id,last_name,salary ,department_id FROM employees WHERE last_name LIKE '_\_a%'
_下划线是单个字符 但是如果存在以下划线为名字的则需要转义字符搭配
正则表达式
逻辑运算符
位运算符
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?