MySQL——基础查询与条件查询

基础查询

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

    类似于:System.out.println(打印东西);

    1、查询列表可以是:表中的字段、常量值、表达式、函数
    2、查询的结果是一个虚拟的表格
*/

USE myemployees;
SELECT last_name FROM employees;
SELECT last_name,salary,email FROM employees;
SELECT * FROM employees;
SELECT 100;
SELECT john;
SELECT 100%98;
SELECT VERSION();   #查看mysql版本

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;

使用DISTINCT关键字。

#案例:查询员工表中涉及到的所有部门编号
SELECT DISTINCT department_id FROM employees;

java中的加号:①运算符 ②拼接符(拼接字符串)
mysql中的加号:仅仅作为运算符(若运算一方为字符型,则mysql试图将其转为数值型,转换成功则运算;不成功则将字符型数值转为0。若其中一方为null,则结果一定为null)

#案例:查询员工名和姓链接成一个字段,并显示为 姓名
#字符串拼接使用CONCAT()函数
SELECT CONCAT(last_name,first_name) AS 姓名 FROM employees;

条件查询

/*
    语法:
        select
            查询列表
        from
            表名
        where
            筛选条件;
    特点:
        1、按条件表达式筛选
            条件运算符:<  >  =  !=  <>  >=
#案例1:查询员工工资大于12000的信息
SELECT
    *
FROM
    employees
WHERE
    salary>12000;
#案例2:查询部门编号不等于90号的员工名和部门编号
SELECT
    last_name,
    department_id
FROM
    employees
WHERE
    department_id<>90;
#案例1:查询工资在10000到20000之间的员工名、工资以及奖金
SELECT
    last_name,
    salary,
    commission_pct
FROM
    employees
WHERE
    salary>10000&&salary
#案例2:查询部门编号不在90到110之间,或者工资高于15000的员工信息
SELECT
    *
FROM
    employees
WHERE
    !(department_id>=90&&department_id15000;
/*
    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与

Original: https://www.cnblogs.com/pengpi/p/15540819.html
Author: 默π
Title: MySQL——基础查询与条件查询

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/508050/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 二手车价格预测 | 构建AI模型并部署Web应用 ⛵

    💡 作者:韩信子@ShowMeAI📘 数据分析实战系列:https://www.showmeai.tech/tutorials/40📘 机器学习实战系列:https://www.s…

    数据库 2023年6月14日
    073
  • MyBatis中模糊搜索使用like匹配带%字符时失效问题

    1.问题背景 Mybatis是我们日常项目中经常使用的框架,在项目中我们一般会使用like查询作为模糊匹配字符进行搜索匹配,下面的Mapper.xml是我们使用like在项目中进行…

    数据库 2023年6月6日
    074
  • MySQL约束

    约束 约束(constraint)概述 为什么要约束 为了保证数据完整性 什么是约束 对表中 字段的(强制)限制 约束的分类 角度一:字段个数 单类约束,多列约束 角度二:约束的作…

    数据库 2023年5月24日
    083
  • Vue(十二)—组件通信

    参考文章:https://blog.csdn.net/qq_37288477/article/details/86630428 父子通信: 1.父传子props 官网demo:ht…

    数据库 2023年6月16日
    085
  • 7 Java有没有goto

    goto是Java中的保留字,在目前版本的Java中没有使用。 Original: https://www.cnblogs.com/xilichenbokeyuan/p/14149…

    数据库 2023年6月6日
    059
  • cron 表达式

    cron 表达式 1.简介:一个cron表达式最少有5个空格来分割时间元素,总共有7个元素,分别如下: ① 秒(0-59) ② 分钟(0-59) ③ 小时(0-23) ④ 天(月的…

    数据库 2023年6月16日
    092
  • SQL函数-聚合函数

    聚合函数 聚合函数是对一组数据进行汇总输出的函数。 输入:一组数据集合输出:单个值 举例:返回一组数据的最大值、平均数、最小、方差等操作。 常见函数举例: 1,AVG函数:返回一组…

    数据库 2023年5月24日
    0112
  • NO.1 通讯录管理系统+源代码(C++)

    功能描述:显示简单的菜单,供用户选择操作 实现步骤:直接cout输出 功能描述:根据用户不同的操作代码选择,进入不同的功能,我们使用switch分支结构进行搭建 实现步骤:用whi…

    数据库 2023年6月14日
    062
  • 索引的树结构

    二分查找 二叉树 二叉平衡树 B-TREE :二叉平衡树的基础上,使加载一次节点,可以加载更多路径数据,同时把查询范围缩减到更小 缺点:业务数据的大小可能远远超过了索引数据的大小,…

    数据库 2023年5月24日
    061
  • CMD 命令汇总

    CMD 常用命令 常用命令 作用 D: 切换到 D 盘下 dir 查看当前路径下的全部内容 cd 盘符:\目录1\目录2…… 进入多级目录 cd .. 回退…

    数据库 2023年6月6日
    060
  • Spark学习(4) Spark Streaming

    Apache Flink SparkSteaming Storm 架构介于spark和storm之间,主从结构与sparkStreaming相似,DataFlow Grpah与st…

    数据库 2023年6月16日
    073
  • Linux 的基本操作 -权限

    Linux 的基本操作 -权限 权限:文件的属性: d:表示目录-:表示文件 l:连接文件 b:设备文件,提供存储的接口设备 c:设备文件,提供串行的接口设备–键盘,鼠…

    数据库 2023年6月16日
    081
  • Linux–>vi和vim编辑器的基本操作

    vim编辑器介绍 vi或者vim就是对linux下的文本进行编辑的一种编辑器比如说a.cpp文件这种 Linux会内置vi文本编辑器 Vim可以简单的认为vi的增强版 Linux是…

    数据库 2023年6月14日
    074
  • MySQL 索引排序

    表结构和数据 CREATE TABLE t1 ( id int(11) NOT NULL AUTO_INCREMENT, a int(11) DEFAULT NULL, b int…

    数据库 2023年5月24日
    070
  • MySQL CREATE TABLE 简单设计模板交流

    我们也可以多台机器部署, 设置不同 AUTO_INCREMENT step, 让每个 sequece 产生不同号码. 例如部署 step = 2 个服务结点, 并行获取数据. 一个…

    数据库 2023年5月24日
    0115
  • B树-插入

    B树系列文章 1. B树-介绍 2. B树-查找 3. B树-插入 4. B树-删除 插入 根据B树的以下两个特性 每一个结点最多有m个子结点 有k个子结点的非叶子结点拥有 k −…

    数据库 2023年6月14日
    098
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球