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 ...
随机推荐
- 菜鸡的Java笔记 - java 线程常用操作方法
线程常用操作方法 线程的命名操作,线程的休眠,线程的优先级 线程的所有操作方法几乎都在 Thread 类中定义好了 线程的命名和取得 ...
- python有关于图像的深度和通道
目录: (一)图像的深度和图像的通道 (1)图像的深度 (2)图像的通道 (二)自定义一张多通道的图片 (1)zeros 函数 (2)ones 函数 (三)自定义一张单通道的图片 (四)像素操作 ...
- [atAGC043B]123 Triangle
不妨先操作一轮,使得$0\le a_{i}\le 2$ 结论:若序列中存在1,则答案为0或1 考虑归纳,注意到若序列中存在1,除非所有元素均为1,否则操作一轮后必然仍存在1,那么根据归纳假设即成立,而 ...
- 类的访问权限和Object
1.访问控制权限 1.1.访问控制权限都有哪些? 4个. private 私有 public 公开 protected 受保护 默认 1.2.以上的4个访问控制权限:控制的范围是什么? private ...
- 使用bootstrap-table时导出excel开头的0被自动省略
原因是excel"智能"识别数据格式,有时聪明反被聪明误. 解决方案:修改tableExport.js 搜索: if (typeof tdcss != 'undefined' &a ...
- System类的常用方法(currentTimeMillis与arraycopy)
System类的常用方法 currentTimeMillis与arraycopy import java.util.Arrays; /* java.lang.System类中提供了大量的静态方法,可以 ...
- 为什么前端H5工程师工资那么高?
目前,企业对于html5前端开发人才需求量非常大,小到企业网站.个人主页,大到政府部门,都是通过网站向外界展示形象.传播信息,网站离不开HTML5前端开发人员,所以学习html5前端开发在当前社会非常 ...
- SpringSecurity+Jwt遇到的bug
最近在使用springsecurity整合Jwt的时候,遇到了一Bug,卡住了很久,记录一下. 编写Jwt工具类JwtUtil,编写Jwt认证的核心过滤器JwtAuthenticationFilter ...
- mysql-加密函数AES_DECRYPT函数
向user表插入数据age字段值为888,并用AES_DECRYPT函数进行加密,key为age(可以自己随意设置,记住就行) insert into user(name,sex,age) value ...
- Go知识点大纲
目录 1. 基本介绍 2. 安装及配置 3. 变量 4. 常量 5. 数据类型 5.1 numeric(数字) 5.2 string(字符串) 5.3 array(数组) 5.4 slice(切片) ...