五、SQL:基础查询、条件查询、模糊查询

目录

 

一、基础查询

二、条件查询

三、补充:着重号和转义字符

四、补充:+号的作用


一、基础查询

语法:select 查询列表 from  表名;

特点:

①查询列表可以是:表中的字段、常量值、表达式、函数

②查询的结果是一个虚拟的表格

use employees;

#一、基础查询

#查询表中所有字段
select
	*
from
	employees;
    
#查询常量值
select 100;

#查询表达式
select 100%98;

#查询函数
select version();

二、条件查询

语法:

select 查询列表

from 表名

where 筛选条件;

【执行顺序为:from 表名 → where 筛选条件 → select 查询列表】

分类:

1、按条件表达式筛选

条件运算符: >  <  >=  <=  !=  =  <=>

其中<=>为安全等于,与普通的=区别在于:安全等于<=>可以用于判定null,此时等价于IS NULL,普通的等于=不可以,安全等于的缺点在于可读性稍差。

2、按逻辑表达式筛选

逻辑运算符:

&&    ||    !

and    or    not

3、模糊查询

like :一般和通配符搭配使用,%代表任意多个字符,包含0个字符,_表示任意单个字符,现在的版本也可用于匹配数字。

between  and:相当于>=数A,<=数B,不可以调换顺序

in

is null 或者 is not null

#查询部门编号不是在90到110之间,或者工资高于15000的员工信息
select
	*
from 
	employees
where
	not(department_id >= 90 and department_id <= 110) or salary>15000

#转义字符:查询员工名中第二个字符为_的员工名
select
	last_name
from
	employees
where
	last_name like '_\_%'
#以上的where语句也可以改成
where
	lastname like '_$-%' escape '$'

三、补充:着重号和转义字符

遇到特殊字符,需用转义字符或者escape

起别名时,别名中有关键字和空格的时候应该加上双引号(建议),单引号也可以

查询的时候字段名为关键字的时候为了,不产生歧义字段名要加上 `` 区分

#案例:查询salary,显示结果为 out put
SELECT salary AS "out put" FROM employees;
#别名里面没有包含空格,和关键字的时候可以不加 "" ,有的话必须加上 ""。

#employees 表里面没有 name 属性这里是为了演示
#SQLyon 关键字会自动大写显示,虽然这样一样可以查询但是容易引起歧义
SELECT NAME FROM employees;
#正确的做法
SELECT `name` FROM employees;

四、补充:+号的作用

#+号的作用
/*
java中的+号:
①运算符,两个操作数都为数值型
②连接符,只要有一个操作数为字符串
 
mysql中的+号:
仅仅只有一个功能:运算符
 
select 100+90; 两个操作数都为数值型,则做加法运算
select '123'+90;只要其中一方为字符型,试图将字符型数值转换成数值型
			如果转换成功,则继续做加法运算
select 'john'+90;	如果转换失败,则将字符型数值转换成0
 
select null+10; 只要其中一方为null,则结果肯定为null
 
*/
 
#案例:查询员工名和姓连接成一个字段,并显示为 姓名
 
 
SELECT CONCAT('a','b','c') AS 结果;
 
SELECT 
	CONCAT(last_name,first_name) AS 姓名
FROM
	employees;

SELECT CONCAT('a','b',NULL) AS 结果;#NULL
SELECT CONCAT('a','b',IFNULL(NULL,0)) AS 结果;#ab0

注意:

CONCAT( , , , ..) 用于字符连接,里面是可变参数,当其中有一个元素为 NULL 的时候,结果为 NULL。

IFNULL(判断的值,为NULL的时候返回什么值)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值