MySQL——基础查询与条件查询
基础查询
/*
	语法:
	select 查询列表
	from 表名;
	类似于:System.out.println(打印东西);
	1、查询列表可以是:表中的字段、常量值、表达式、函数
	2、查询的结果是一个虚拟的表格
*/
USE myemployees;
(1)查询表中的单个字段
SELECT last_name FROM employees;
(2)查询表中的多个字段
SELECT last_name,salary,email FROM employees;
(3)查询表中的所有字段
SELECT * FROM employees;
(4)查询常量值
SELECT 100;
SELECT `john`;
(5)查询表达式
SELECT 100%98;
(6)查询函数
SELECT VERSION();   #查看mysql版本
(7)起别名
1)便于理解
    2)如果要查询的字段有重名,使用别名可以区分开
#方式一(AS):
SELECT 100%98 AS 结果;
SELECT last_name AS 姓,first_name AS 名 FROM employees;
#方式二(直接起):
SELECT last_name 姓,first_name 名 FROM employees;
#方式三(特殊):
SELECT salary AS "OUT put" FROM employees;
(8)去重
使用DISTINCT关键字。
#案例:查询员工表中涉及到的所有部门编号
SELECT DISTINCT department_id FROM employees;
(9)+ 号的作用
java中的加号:①运算符  ②拼接符(拼接字符串)
    mysql中的加号:仅仅作为运算符(若运算一方为字符型,则mysql试图将其转为数值型,转换成功则运算;不成功则将字符型数值转为0。若其中一方为null,则结果一定为null)
#案例:查询员工名和姓链接成一个字段,并显示为 姓名
#字符串拼接使用CONCAT()函数
SELECT CONCAT(last_name,first_name) AS 姓名 FROM employees;
条件查询
/*
	语法:
        select
            查询列表
        from
            表名
        where
            筛选条件;
	特点:
		1、按条件表达式筛选
			条件运算符:<  >  =  !=  <>  >=  <=
		2、按逻辑表达式筛选(用于连接条件表达式)
			逻辑运算符:&&  ||  !  (and  or  not)
		3、模糊查询
			like
			between and
			in
			is null
*/
(1)按条件表达式筛选
#案例1:查询员工工资大于12000的信息
SELECT
	*
FROM
	employees
WHERE
	salary>12000;
#案例2:查询部门编号不等于90号的员工名和部门编号
SELECT
	last_name,
	department_id
FROM
	employees
WHERE
	department_id<>90;
(2)按逻辑表达式筛选
#案例1:查询工资在10000到20000之间的员工名、工资以及奖金
SELECT
	last_name,
	salary,
	commission_pct
FROM
	employees
WHERE
	salary>10000&&salary<20000;
#案例2:查询部门编号不在90到110之间,或者工资高于15000的员工信息
SELECT
	*
FROM
	employees
WHERE
	!(department_id>=90&&department_id<=110)
OR
	salary>15000;
(3)模糊查询
/*
	like(特点:一般和通配符搭配使用【%任意多个字符;_任意单个字符;】)
	between and
	in
	is null
	is not null
*/
1)like的使用
      特点:一般和通配符搭配使用【%任意多个字符;_任意单个字符】
#案例1:查询员工中包含字符a的员工信息
SELECT
	*
FROM
	employees
WHERE
	last_name LIKE '%a%';
#案例2:查询员工名中第三个字符为n,第五个字符为l的员工名和工资
SELECT
	last_name,
	salary
FROM
	employees
WHERE
	last_name LIKE '__n_l%';
#案例3:查询员工名中第二个字符为_的员工名
SELECT
	last_name
FROM
	employees
WHERE
	last_name LIKE '_\_%';
    2)between and的使用
      特点:①提高语句简洁度  ②包含临界值  ③两个临界值有序
#案例:查询员工编号在100到120之间的员工信息
SELECT
	*
FROM
	employees
WHERE
	employee_id BETWEEN 100 AND 120;
3)in的使用
      含义:判断某字段的值是否属于in列表中的某一项
      特点:①使用in提高了语句简洁度  ②in列表的值类型必须一致  ③不支持通配符
#案例:查询员工的工种编号是 IT_PROT、AD_VP、AD_PRES的一个员工名和工种编号
SELECT
	last_name,
	job_id
FROM
	employees
WHERE
	job_id IN ('IT_PROT','AD_VP','AD_PRES');
4)is null的使用
      = 或 <>不能用于判断null值
      is null 或 is not null 可以判断null值
#案例1:查询没有奖金的员工名和奖金率
SELECT
	last_name,
	commission_pct
FROM
	employees
WHERE
	commission_pct IS NULL;
#案例2:查询有奖金的员工名和奖金率
SELECT
	last_name,
	commission_pct
FROM
	employees
WHERE
	commission_pct IS NOT NULL;
5)安全等于<=>
#案例1:查询没有奖金的员工名和奖金率
SELECT
	last_name,
	commission_pct
FROM
	employees
WHERE
	commission_pct <=> NULL;
对比is null与<=>is null:仅仅可以判断NULL值,可读性较高,建议使用;<=>:既可以判断NULL值,又可以判断普通数值,可读性较低。
MySQL——基础查询与条件查询的更多相关文章
- mysql 基础入门 单表查询
		单表查询 select 表头,表头 as 别名 ,表头(+-*/的运算) from table_a 1.条件查询 where + 条件 <> , != 不等于 = 等于,也可以表示字符串值 ... 
- [转]NHibernate之旅(4):探索查询之条件查询(Criteria Query)
		本节内容 NHibernate中的查询方法 条件查询(Criteria Query) 1.创建ICriteria实例 2.结果集限制 3.结果集排序 4.一些说明 根据示例查询(Query By Ex ... 
- 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据
		1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ... 
- MySQL数据库6 -查询基础,简单查询,条件查询,对查询结果排序
		一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ... 
- MySQL数据库—查询基础,简单查询,条件查询,对查询结果排序
		一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ... 
- mysql基础(三)——中级查询
		创建表 CREATE TABLE DEPT( DEPTNO ) PRIMARY KEY, DNAME ) , LOC ) ) ; ,'ACCOUNTING','NEW YORK'); ,'RESEAR ... 
- mysql基础-数据库表简单查询-记录(五)
		0x01 MySQL的查询操作 单表查询:简单查询 多表查询:连续查询 联合查询 选择和投影 投影:挑选要符合的字段 select ... 
- mysql增删改查——条件查询+模糊查询
		条件查询一般是 = 等于 >大于 <小于 >=大于等于 <=小于等于 <>区间 between and区间 or并且 and或者 in包含 like模糊查询 实例, ... 
- MySQL基础学习之数据查询
		一般查询 SELECT * FROM 表名 SELECT 属性名 FROM 表名 条件查询 SELECT 属性名 FROM 表名 WHERE 条件表达式 查询数据值1,数据值2的表单 SELEC ... 
随机推荐
- APM监控--(三)zipkin部署手册
			一,基础知识储备分布式跟踪的目标一个分布式系统由若干分布式服务构成,每一个请求会经过多个业务系统并留下足迹,但是这些分散的数据对于问题排查,或是流程优化都很有限,要能做到追踪每个请求的完整链路调用,收 ... 
- 力扣 - 剑指 Offer 22. 链表中倒数第k个节点
			题目 剑指 Offer 22. 链表中倒数第k个节点 思路1(栈) 既然要倒数第k个节点,那我们直接把所有节点放到栈(先进后出)里面,然后pop弹出k个元素就可以了 代码 class Solution ... 
- [bzoj1711]吃饭
			由于无法直接将果汁和饮料连边,所以将人放在中间,果汁和饮料放在两侧,然后分别向对应的人连边.同时,为了保证每一个人只被算一次,对每一个人裂点,两个点中间连一条流量为1的边. 1 #include< ... 
- [luogu5163]WD与地图
			将删边改为插边,如果是无向图直接线段树合并即可,考虑如何将有向边转换为无向边 令$t_{i}$表示当插入到第$t_{i}$条边时恰好满足$x_{i}$与$y_{i}$在同一个强连通分量中,然后分类讨论 ... 
- [loj3367]装饼干
			先考虑如何判定一个$y$是否可行--从高位开始,记录这一位所需要的$2^{i}$数量$t$,若$y$的这一位为1,则$t+=x$,之后分两类讨论:1.$t\le a_{i}$,令$t=0$:2.$b& ... 
- [bzoj1635]最高的牛
			初始如果没有限制,很显然每一头牛高度都是h当只有一个限制,让h[a]到h[b]的高度都减1即可容易发现两个限制不会相交(否则必然矛盾),只会包含或相离,因此没有影响,直接差分/线段树即可(注意:1.不 ... 
- [bzoj1432]Function
			对于这n个函数,构成了$n(n-1)/2$个交点,对交点离散后,相邻两个交点间函数的编号构成了一个排列,而每一个排列第i个数所构成的段数就是第i层的段数不妨设初始在-oo处这个排列是1,2,--,n, ... 
- [bzoj1391]order
			考虑最小割,即最少要去掉多少收益先S向所有机器连边,流量为购买费用:所有机器向工作连边,流量为租借费用:工作向T连边,流量为收益那么对于每一个工作,要么割掉连向T的边,要么购买/租借所有机器,同时由于 ... 
- x86汇编反编译到c语言之——(2)if语句
			一. 测试的C语句及编译后的x86汇编代码 int a; int b; int main(void) { int c; if (c) a = 4; else b = 5; return 0; } 1 ... 
- Codeforces 306D - Polygon(随机化+乱搞)
			Codeforces 题目传送门 & 洛谷题目传送门 中考终于结束了--简单写道题恢复下状态罢. 首先这一类题目肯定没法用一般的方法解决,因此考虑用一些奇淫的乱搞做法解决这道题,不难发现,如果 ... 
