JAVA单排日记-2020/2/7-MySQL-DML-查询表

引入数据:

CREATE TABLE student3 (
id INT, -- 编号
NAME VARCHAR(20), -- 姓名
age INT, -- 年龄
sex VARCHAR(5), -- 性别
address VARCHAR(100), -- 地址
math INT, -- 数学
english INT -- 英语
);
INSERT INTO student3(id,NAME,age,sex,address,math,english) VALUES (1,'马云',55,'男','杭州',66,78),(2,'马化腾',45,'女','深圳',98,87),(3,'马景涛',55,'男','香港',56,77),(4,'柳岩',20,'女','湖南',76,65),(5,'柳青',20,'男','湖南',86,NULL),(6,'刘德华',57,'男','香港',99,99),(7,'马德',22,'女','香港',99,99),(8,'德玛西亚',18,'男','南京',56,65);
SELECT * FROM student3;

在这里插入图片描述

  • 基础查询
  1. 多个字段的查询
SELECT NAME,address FROM student3;

在这里插入图片描述
2. 去除重复

SELECT DISTINCT address FROM student3; 

在这里插入图片描述
3. 计算列
  ● 可以使用四则运算计算一些列的值;

SELECT NAME,math,english,math+english FROM student3;

在这里插入图片描述
  ● null参与的运算,计算结果都为null。可以使用 ifnull(表达式1,表达式2),如果表达式1为null,则把表达式1替换为表达式2

SELECT NAME,math,english,IFNULL(english,0)+IFNULL(math,0) FROM student3;

在这里插入图片描述
4. 起别名

SELECT NAME,math AS "数学",english "英语",IFNULL(english,0)+IFNULL(math,0) "总分" FROM student3;

在这里插入图片描述

  • 条件查询
  1. where子句后跟条件
  2. 运算符
运算符 功能
>、<、<=、>=、=、<> 大于、小于、大于等于、小于等于、等于、非
and 或 &&
or 或 ||
not 或 !
between A and B 在A与B之间(包括A和B)
in (集合) 查询在集合之内的数据
is null 查询为null的数据(不能用=null)
like 模糊查询。占位符:单个任意字符_ 多个任意字符%
#查询年龄大于20岁
SELECT * FROM student3 WHERE age > 20;

在这里插入图片描述

#查询年龄等于20岁
SELECT * FROM student3 WHERE age = 20;

在这里插入图片描述

#查询年龄不等于20岁
SELECT * FROM student3 WHERE age != 20;
SELECT * FROM student3 WHERE age <> 20;

在这里插入图片描述

#查询年龄20-30岁
SELECT * FROM student3 WHERE age>=20 && age<=30;
SELECT * FROM student3 WHERE age>=20 AND age<=30;
SELECT * FROM student3 WHERE age BETWEEN 20 AND 30;

在这里插入图片描述

#查询年龄18岁、20岁、22岁、
SELECT * FROM student3 WHERE age=18 || age=20 || age=22;
SELECT * FROM student3 WHERE age=18 OR age=20 OR age=22;
SELECT * FROM student3 WHERE age IN(18,20,22)

在这里插入图片描述

#查询没有英语成绩的
SELECT * FROM student3 WHERE english IS NULL;
#SELECT * FROM student3 WHERE english = NULL; 错的

在这里插入图片描述

#查询姓马的人
SELECT * FROM student3 WHERE NAME LIKE "马%";

在这里插入图片描述

#查询姓名第二个字是化的人
SELECT * FROM student3 WHERE NAME LIKE "_化%";

在这里插入图片描述

#查询姓名是3个字的人
SELECT * FROM student3 WHERE NAME LIKE "___"

在这里插入图片描述

#查询姓名有马的人
SELECT * FROM student3 WHERE NAME LIKE "%马%";

在这里插入图片描述

发布了131 篇原创文章 · 获赞 1 · 访问量 4437

猜你喜欢

转载自blog.csdn.net/wangzilong1995/article/details/104216648