MySQL学习:Day05(DQL)

目录

一、DQL-介绍

二、DQL-语法

三、DQL-基本查询

1.查询多个字段

2.设置别名

3.去除重复记录

4.练习

四、DQL-条件查询

1.语法

2.条件

3.代码演示


一、DQL-介绍

  • DQL英文全称是(Data Query Language),即数据查询语言。用来查询数据库中表的记录
  • 查询关键字:select(查询频率高于增删改)

二、DQL-语法

分组

三、DQL-基本查询

1.查询多个字段

注:查询返回多个字段用通配符“*

2.设置别名

注:别名可有可无,AS也可以省略

3.去除重复记录

4.练习

(1)准备一张表,内容如下:

insert into emp (id, workno, name, sex, age, idcard, workaddress, entrydate)
value (1,'1','柳岩','女',20,'1234567890','北京','2000-01-01'),
    (2,'2','张无忌','男',18,'1234567891','天津','2005-09-01'),
    (3,'3','韦一笑','男',38,'1234567890','北京','2022-07-01'),
    (4,'4','赵敏','女',18,'1234567890','四川','2000-11-01'),
    (5,'5','小昭','女',16,'1234567890','黑龙江','2010-01-01'),
    (6,'6','杨逍','男',28,'1234567890','河北','2010-01-01'),
    (7,'7','范瑶','男',40,'1234567890','河南','2023-01-01'),
    (8,'8','范凉凉','女',38,'1234567890','北京','2012-01-01'),
    (9,'9','陈友谅','男',45,'1234567890','天津','2004-01-01'),
    (10,'10','张士诚','女',53,'1234567890','北京','2006-01-01'),
    (11,'11','常遇春','男',55,'1234567890','上海','2013-01-01'),
    (12,'12','张三丰','女',32,'1234567890','北京','2017-01-01'),
    (13,'13','灭绝','男',88,'1234567890','江苏','2018-01-01'),
    (14,'14','胡青年','女',65,'1234567890','西安','2005-01-01'),
    (15,'15','周芷若','女',70,'1234567890','西安','2003-01-01'),
    (16,'16','代斯齐','男',18,null,'北京','2012-06-01');

(2)代码展示

# -------------------------基本查询---------------------------------
# 1.查询指定字段 name,workno,age 返回
select name,workno,age from emp;

# 2.查询所有字段 返回
# (方法一:把所有字段的名字都写一遍,用逗号隔开;)
select id,id, workno, name, sex, age, idcard, workaddress, entrydate from emp;
# (方法二:用通配符星号代替;)
select * from emp;      # 尽量不用,不直观,还会影响效率

# 3.查询所有员工的工作量,起别名
select workaddress as '工作地址' from emp;
# as可以省略
select workaddress '工作地址' from emp;

# 4.查询公司员工的上班地址(不要重复)
# 关键字distinct可以去除重复的
select distinct workaddress as '工作地址' from emp;

(3)运行结果

(代码中的1.对应第一张照片,以此类推)

1.

2.

3.

改别名后,workaddress变为工作地址

4.

在前面加上distinct可以去除重复的

四、DQL-条件查询

1.语法

:WHERE后面的条件可以是一个,也可以是多个

2.条件

:<1>不等号的两种写法<>和!=

       <2>BETWEEN后跟最大值,AND后跟最小值

3.代码演示

 模糊匹配用法见第10和第11条

# --------------------------条件查询------------------------
# 1.查询年龄等于88的员工
select * from emp where age = 88;

# 2.查询年龄小于20的员工信息
select * from emp where age < 20;

# 3.插叙年龄小于等于20的员工信息
select * from emp where age <= 20;

# 4.查询没有身份证号的员工信息
select * from emp where idcard is null;
# (如果查询idcard为空的员工信息,用is null,相反用is not null)

# 5.查询有身份证号的员工信息
select * from emp where idcard is not null;

# 6.查询年龄不等于88的员工信息
select * from emp where age != 88;

# 7.查询年龄在15岁(包括)到20岁(包括)之间的员工信息
select * from emp where age >= 15 && age <= 20;
select * from emp where age >= 15 and age <= 20;

# 8.查询性别为女且年龄小于25的员工信息
select * from emp where age <= 25 && sex = '女';
select * from emp where age >= 15 and age <= 20;

# 9.查询年龄等于18或者20或者40的员工信息
select * from emp where age = 18 || age = 20 || age = 40 ;
select * from emp where age = 18 or age = 20 or age = 40 ;
select * from emp where age in (18,20,40);

# 10.查询姓名为两个字的员工信息
# 用模糊匹配,一个下划线代表一个字符,百分号匹配任意个字符
select * from emp where name like '__';

# 11.查询身份证号最后以为是0的员工
select * from emp where idcard like '%0';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值