Mysql基础查询及条件查询

基础查询

语法

SELECT 查询列表 FROM 表名;

特点:

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

查询表中的单个字段

SELECT last_name FROM employees;

查询表中的多个字段

SELECT last_name,salary,email FROM employees;
  • 查询命令中字段的数量和顺序无要求。

查询表中的所有字段

SELECT * FROM employees;

查询常量

SELECT 常量;

查询表达式

SELECT 100+100;

查询函数

SELECT version();

字段起别名

SELECT 100+100 AS 结果;
SELECT last_name AS 姓, first_name AS 名 FROM employees;
  • 便于理解

  • 查询字段有重名,可以使用别名区分

  • AS可以省略,使用空格

SELECT 100+100 结果;
  • 若别名中有特殊符号以及关键字时,将别名外加双引号

去重

SELECT DISTINCT department_id FROM employees;

+号的作用

  • 再mysql中+号只能作为运算符
  • 若+号一边为字符型,则会将字符转换为数值型,若转换失败则会转换为0
  • 只要其中一边为null,结果则为null

字符串拼接

SELECT CONCAT(last_name, first_name) as 姓名 FROM employees;

IFNULL();

  • 参数一:可能为空值的字段
  • 参数二:当字段为空值时显示的内容
SELECT IFNULL(commission_pct, 0) FROM employees;

条件查询

语法

SELECT 查询列表 FROM 表名 WHERE 筛选条件;
  • 显示筛选条件成立的所有行

分类

  • 按条件表达式筛选
    • 条件运算符:> < = != <> >= <=
SELECT * FROM employees WHERE salary>12000;
  • 逻辑表达式
    • 逻辑运算符:&& || ! and or not
SELECT * FROM employees WHERE salary>=10000 AND salary<=20000;
  • 模糊查询
  • like
    • 一般和通配符搭配使用
    • 通配符
      • % 任意多个字符,包括0个
      • _ 任意单个字符。
SELECT * FROM employees WHERE first_name LIKE '%a%';
  • between and
    • 可以提高语言的简洁度
    • 包含临界值
    • 临界值顺序不可调换
SELECT * FROM employees WHERE salary BETWEEN 10000 AND 20000;
  • in
    • 用于判断字段中的值是否属于in列表中的某一项
    • 提高语句简洁度
    • in列表中的值必须统一或兼容
    • 不可以使用通配符
SELECT * FROM employees WHERE job_id IN('IT_PROG', 'AD_VP', 'AD_PRES');
  • is null
    • =号不可以判断null值
SELECT * FROM employees WHERE commission_pct IS NULL;

ESCAPE 自定义转义字符

SELECT * FROM employees WHERE last_name LIKE '_$_%' ESCAPE '$';

安全等于:<=>

  • 可以进行null值判断,也可以进行数值判断
发布了50 篇原创文章 · 获赞 33 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_25884515/article/details/103860698