Sql查询篇

1.基础查询

#进阶一:基础查询
/*
语法:
select 查询列表 from 表名;

查询的列表可以是:表中的字段,常量值,表达式,函数
查询的结果是一个虚拟的表
*/
#1.查询表中的单个字段
SELECT last_name FROM employees;

#2.查询表中的多个字段
SELECT `last_name`,`first_name`,`phone_number` FROM employees;

#3.查询表中所有字段(用鼠标一个一个双击加入)
 #方法一:
SELECT `first_name`,`phone_number`,`email`,`last_name`,`job_id`,`salary`,`commission_pct`,
`manager_id`,`department_id`,`hiredate` FROM employees;
 #方法二:
SELECT * FROM employees;

#4.查询常量值
SELECT 100;
SELECT 'john';

#5.查询表达式
SELECT 100%98;

#6.查询函数
SELECT VERSION();

#7.起别名
#方式一:使用as
SELECT 100%98 AS 结果;
SELECT `last_name` AS 姓,`first_name` AS 名 FROM employees;
#方式二:使用空格
SELECT 100%98 结果;
SELECT `last_name` 姓,`first_name` 名 FROM employees;
  #b别命中如果有特殊符号应用双引号引起
 SELECT 100%98 "out put";

#8.去重
SELECT DISTINCT `department_id` FROM employees;

#9.加号的作用
/*
运算符
select 100+90;    如果两个数都是数值型的,则做加法运算
select '123'+1;   只要有一方为字符型,则试图将字符型转换为数值型
		  如果转换成功,则继续做加法运算
select 'john'+90;		  如果转换失败,则将字符型转换为0

select null+10;   只要其中一方为null,结果就是null
*/
#将查询员工的姓和名连成一个字段,并显示为姓名
SELECT CONCAT(`last_name`,`first_name`) AS 姓名 FROM employees;

#显示表的结构
DESC `departments`;

#ifnull语句(如果前面的是null的话就用0代替)
SELECT IFNULL(`commission_pct`,0) FROM employees;

2.条件查询

#进阶二:条件查询
/*
语法:
      select
              查询列表(1)
      from 
              表名(2)
      where 
              条件(3)
 执行顺序为(2)(3)(1)
 */
 
 
 #一.按条件表达式筛选(  >=  <=  <>  =  >  <  )
  #案例一:查询工资大于12000的员工信息
  SELECT * FROM employees WHERE `salary`>12000; 
 
 #二.按逻辑表达式筛选(and or not)
  #查询工资在10000到20000之间的员工信息
  SELECT * FROM employees WHERE `salary`>10000 AND `salary`<20000;
  
 #三.模糊查询
 /*
 like  通配符: % 任意多个字符(包括0个) _ 任意单个字符
 between and
 in
 is null  is not null
 */
 
 
 #1.like
 #案例一:查询员工名中包含字符'a'的员工信息
 SELECT * FROM employees WHERE last_name LIKE '%a%';
 
 #案例二:查询奖金率不是null的员工信息
 SELECT * FROM employees WHERE `commission_pct` LIKE '%%';
 
 #案例三:查询员工名中第三个字母为n,第五个字母为l的员工信息
 SELECT * FROM employees WHERE last_name LIKE '__n_l%';
 
 #案例四:查询员工名中第二个字符为_的员工信息
 SELECT * FROM employees WHERE last_name LIKE '_\_%';
 SELECT * FROM employees WHERE last_name LIKE '_$_%' ESCAPE '$';
 
 
 #2.between and(包括临界值,两个临界值不能调换顺序)
 #查询员工编号在100到120之间的员工信息
 SELECT * FROM employees WHERE `employee_id` BETWEEN 100 AND 120;
 
 
 #3. in(in列表的之必须一致或兼容,且不能包含通配符)
 #查询员工的工种编号是AD_PRES AD_VP IT_PROG中的员工的信息
 SELECT * FROM employees WHERE `job_id` IN('IT_PROG','AD_VP','AD_PRES');
 
 #4.is null  is not null
 #查询奖金率为null的员工
 SELECT * FROM employees
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值