基础查询

/*
语法:
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——基础查询与条件查询的更多相关文章

  1. mysql 基础入门 单表查询

    单表查询 select 表头,表头 as 别名 ,表头(+-*/的运算) from table_a 1.条件查询 where + 条件 <> , != 不等于 = 等于,也可以表示字符串值 ...

  2. [转]NHibernate之旅(4):探索查询之条件查询(Criteria Query)

    本节内容 NHibernate中的查询方法 条件查询(Criteria Query) 1.创建ICriteria实例 2.结果集限制 3.结果集排序 4.一些说明 根据示例查询(Query By Ex ...

  3. 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据

    1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...

  4. MySQL数据库6 -查询基础,简单查询,条件查询,对查询结果排序

    一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ...

  5. MySQL数据库—查询基础,简单查询,条件查询,对查询结果排序

    一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ...

  6. mysql基础(三)——中级查询

    创建表 CREATE TABLE DEPT( DEPTNO ) PRIMARY KEY, DNAME ) , LOC ) ) ; ,'ACCOUNTING','NEW YORK'); ,'RESEAR ...

  7. mysql基础-数据库表简单查询-记录(五)

    0x01 MySQL的查询操作 单表查询:简单查询                 多表查询:连续查询                联合查询 选择和投影 投影:挑选要符合的字段     select ...

  8. mysql增删改查——条件查询+模糊查询

    条件查询一般是 = 等于 >大于 <小于 >=大于等于 <=小于等于 <>区间 between and区间 or并且 and或者 in包含 like模糊查询 实例, ...

  9. MySQL基础学习之数据查询

    一般查询 SELECT * FROM 表名 SELECT 属性名  FROM  表名 条件查询 SELECT 属性名 FROM 表名  WHERE 条件表达式 查询数据值1,数据值2的表单 SELEC ...

随机推荐

  1. 中文NER的那些事儿5. Transformer相对位置编码&TENER代码实现

    这一章我们主要关注transformer在序列标注任务上的应用,作为2017年后最热的模型结构之一,在序列标注任务上原生transformer的表现并不尽如人意,效果比bilstm还要差不少,这背后有 ...

  2. [luogu3706]硬币游戏

    (可以参考洛谷4548,推导过程较为省略) 定义$g_{i}$表示随机$i$次后未出现给定字符串的概率,$f_{k,i}$表示随机$i$次后恰好出现$s_{k}$(指第$k$个字符串)的概率,设两者的 ...

  3. 链式调用Builder

    使用Lombok实现链式调用 1.静态调用 User对象: 对象中必须有一个值不为空staticname作为指定的参数并调用对象 @Accessors(chain = true) @Getter @S ...

  4. Vulnhub-Empire: Breakout题解

    Vulnhub-Empire: Breakout题解 这是Empire系列的靶机Breakout,地址:Vulnhub-EMPIRE: BREAKOUT 目标扫描 使用arp-scan 命令识别靶机I ...

  5. 洛谷 P6775 - [NOI2020] 制作菜品(找性质+bitset 优化 dp)

    题面传送门 好久没写过题解了,感觉几天没写手都生疏了 首先这种题目直接做肯定是有些困难的,不过注意到题目中有个奇奇怪怪的条件叫 \(m\ge n-2\),我们不妨从此入手解决这道题. 我们先来探究 \ ...

  6. R 语言实战-Part 5-1笔记

    R 语言实战(第二版) part 5-1 技能拓展 ----------第19章 使用ggplot2进行高级绘图------------------------- #R的四种图形系统: #①base: ...

  7. R语言与医学统计图形-【23】ggplot2坐标系转换函数

    ggplot2绘图系统--坐标系转换函数 包括饼图.环状条图.玫瑰图.戒指图.坐标翻转. 笛卡尔坐标系(最常见). ArcGIS地理坐标系(地图). Cartesian坐标系. polar极坐标系. ...

  8. shell命令行——快捷键

    生活在 Bash shell 中,熟记以下快捷键,将极大的提高你的命令行操作效率. 编辑命令 Ctrl + a :移到命令行首 Ctrl + e :移到命令行尾 Ctrl + f :按字符前移(右向) ...

  9. Golang知识点整理

    1. Golang 1.1 golang知识点大纲 1.2 指针 1.3 Golang使用validator进行数据校验及自定义翻译器 1.4 Golang GC(垃圾回收机制) 2.框架 2.1 G ...

  10. mysql order by 多个字段排序实现组内排序

    总结:大组在前,小组在后,计量值再最后,即可实现组内排序:下边是参考别人的具体实例: 工作中需用到order by 后两个字段排序,但结果却产生了一个Bug,以此备录. [1]复现问题场景 为了说明问 ...