MYSQL笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


基础知识

一、基础查询

1.语法

select 查询列表 from 表名;

1、查询列表可以是表中的字段、常量、表达式、函数
2、查询结果是虚拟的表格
3、着重号‘’用了区分字段和关键字

2.例子

#启用库
use myemployees;
#1、查询表中的单个字段
select last_name from employees;
#2、查询表中多个字段
select last_name,email  from employees;
#3、 #显示字段 、查询所有字段(双击或者*)  
DESC employees;
select * from employees;
#4、查询常量值
select 100;
select 'john';
#5、查询表达式
select 100%98;
#6、查询函数
select version();
#7、为字段起别名(as或者省略)
#特殊情况 查询salary,别名为out put(有特殊符号)--加双引号
select  salary asout put”  from employees;                                                                     
#去重(distinvt) eg 查询员工中设计到的部门编号
select distinct department_id from employees;
#+号的作用:运算符 其中一方为字符型,转换成功,继续运算,转换失败,则字符型数值转换为0
select concat(last_name,first_name) AS 姓名 from employees;
#NULL和任何字段拼接都为NULL,用判空函数来输出
select 
	ifnull(commission_pct,0) as 奖金率,
    commission_pct
from
	employees;

二、条件查询

1.语法

语法:
select 查询列表 from 表名 where 筛选条件;

过程:先查表名,再找条件,最后查询列表
分类:
一、按条件表达式筛选(> < =)
二、按逻辑运算符(&& || !)
三、模糊查询 (like between and in is null)

2.例子

#一、按条件表达式筛选
#查找工资
select 
	* 
from
	employees
where
	salary>12000;
#查询部门编号不等于90号员工名和部门编号
select
		last_name,
        department_id
from
		employees
where 
		department_id!=90;
#二、逻辑表达式筛选
#查找工资在10000到20000之间的员工名
select
		last_name,
        salary
from
		employees
where
	    salary>=10000 and salary<=20000;
#三、模糊查询
/*
like:      一般和通配符搭配使用,% 任意多个字符,_ 任意单个字符
between and 两边临界值值都包含
in          判断字段的值是否属于in列表中的某一项,in列表的值类型必须统一或者兼容
is null|is not null 判断null值 安全等于<=> 既可以判断null也可判断普通数值
*/
#员工名中包含字符a的员工信息
select
		*
from
		employees
where
		last_name like '%a%';#%代表通配符
#查询员工名第二个字符为下划线的(转义字符\或者用escape'\'指定为转义字符)
select
		*
from
		employees
where
		last_name like '_\_%';
#查询员工编号在100到120之间
select
		*
from
		employees
where
		employee_id between 100 and 120;#100<=x<=120 

#查询员工工种编号是AD_VP,AD_PRES中的一个员工名和工种编号
select
		last_name,
        job_id
from
		employees
where
		job_id in ('AD_VP','AD_PRES');
#查询没有奖金的员工名和奖金率
select
		last_name,
        commission_pct
from
		employees
where 
		commission_pct is not null;

waiting

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值