SQL语句基础二

SQL基础语句
来源尚硅谷的SQL基础语句笔记
2条件查询
语法:select 查询列表 第三步
from 表名 第一步
where 筛选条件 第二步
分类
1.按条件表达式筛选 条件运算符:> < = (<>不等于)>= <=;
2.按逻辑表达式筛选
逻辑运算符:
作用:用于连接条件表达式
%% || !
and or not
&&和and一样:两个条件都为true 结果为true
||和or一样 只要有一个为true就为true,
!和not一样 条件为false则为true;
3.模糊查询
like between and in is null
一 按条件表达式筛选
案例1:查询工资>12000 的员工信息
SELECT *
FROM employees
WHERE salary>12000;
案例2 :查询部门编号不等于90号的员工名和部门编号
SELECT last_name, department_id
FROM employees
WHERE department_id<>90;

案例3 查询工资在10000和20000之间的员工名 工资 以及奖金
SELECT last_name, salary,commission_pct
FROM employees
WHERE salary>=10000 and salary<=20000;

案例4 查询部门编号不是在90到110之间的 或者工资高于15000的员工信息
SELECT *
FROM employees
WHERE department_id<90 OR separtment_id>110 OR salary>15000;
WHERE NOT(department_id >=90 AND department_id<=110) OR salary>15000;

模糊查询
like between and in is null is not null
like
特点 一般和通配符搭配 %任意多个字符 包含0个字符
_ 任意单个字符
案例1 查询员工名中包含字符a的员工信息
SELECT *
FROM employees
WHERE last_name LIKE ‘%a%’ ;

案例2 查询员工名中第三个字符为e 第五个字符为a的员工名和工资
SELECT last_name,salary
FROM employees
WHERE last_name LIKE‘__e_a%

案例3 查询员工名中第二个字符为_的员工名
SELECT last_name
FROM employees
WHERE last_name LIKE ‘__%’ : 通过转义字符来写
LIKE ‘ _KaTeX parse error: Expected group after '_' at position 1: _̲%’ ESCAPE ‘’; 效果一样
Between and
使用between and 提高简洁度
包含连接值 闭区间 两个连接值不能颠倒顺序 和数学逻辑一样
案例 :查询员工编号在100到120之间的所有的员工信息
SELECT *
FROM employees
WHERE employee_id BETWEEN 100 AND 120;
案例:查询员工的工种编号是IT _PROG、AD_VP 、AD_PRES的一个员工名和工种编号
SELECT last_name, job_id
FROM employees
WHERE job_id =’ IT _PROG’ OR job_id=’AD_VP’ OR ‘job_id=’AD_PRES’;
WHERE job_id IN(’ IT _PROG’ ,’AD_VP’ OR ‘,’AD_PRES’);
含义:用于判断某字段的值是否属于in列表中的某一项
特点:1. 使用in提高语句简洁度
2. in列表的值必须是同样的类型或兼容
Is null
案例 查询没有奖金的员工名和奖金率
SELECT last_name,commission_pct
FROM employees
WHERE commission_pct IS NULL;
安全等于: 
WHERE commission_pct ;

查询员工号为176的员工的姓名和部门号和年薪
SELECT last_name, department_id, salary12(1+IFNULL(COMMISSION_PCT,0)) AS 年薪
FROM employees;

  1. 查询没有奖金且工资小鱼18000的salary,last_name
    SELECT salary,last_name
    FROM employees
    WHERE commission IS NULL AND salary<18000;
  2. 查询employees表中 ,job_id不为‘IT’ 或者工资为12000的员工信息
    SELECT *
    FROM employees
    WHERE job_id<>’IT’ OR salary=12000;
  3. 查看部门表的结构
    DESC 部门表
  4. 查询部门表separtment表中涉及到了哪些位置编号
    SELECT DISTINTlocation_id
    FROM employees;
    5 经典面试题
    判断:select *from employees ;和
    Select *from employees
    Where commission_pct like’%%’and last_name like’%%’ 是否一样
    不一样 如果字段有null 就不一样 没有null就一样
    Where commission_pct like’%%’or last_name like’%%’
    Commission_pct可能有NULL 但是换成or 就可以;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值