单表查询,多表查询,连接查询,子查询

一、单表操作
1、带IN 关键字的查询
语法:
select *|字段名1,字段名2,……  from 表名  where 字段名 [NOT] IN (元素1,元素2,元素3,……);

举例:select * from test_yyp_0012 where ID1 IN('1234','231111');

2、空值查询
在数据表中,某列的值可能为空值(NULL),空值不同于0,也不同于空字符串。在mysql中,使用IS NULL 关键字来判断字段的值是否为空值
语法:
select *|字段名1,字段名2,……  from 表名  where 字段名 IS [NOT] NULL;

3、distinck 关键字作用于多个字段
只有distinct 关键字后指定的多个字段值都相同,才会被认作是重复的记录
语法:
select distinct 字段名1,字段名2,…… from 表名;


4、带like  关键字的查询
匹配字符串 可以是一个普通字符串,也可以是包含百分号和下划线的通配字符串。
(1)百分号(%)通配符
在通配字符串中可以出现多个百分号通配符。
语法:
select *|字段名1,字段名2,……  from 表名  where 字段名 [NOT]  LIKE ‘匹配字符串’;

举例:select * from test_yyp_0012 where ID2 like '0' ;  //ID2=0
select * from test_yyp_0012 where ID2 like '%0' ;  //ID2 以0结尾的记录
select * from test_yyp_0012 where ID2 like '%0%' ;  //ID2 中包含0 的记录
select * from test_yyp_0012 where ID2 like '1%0' ; //ID2 中以0开头以1结尾的记录


(2)下划线 (_)通配符
下划线通配符只匹配单个字符,如果要匹配多个字符,需要使用多个下划线通配符

举例:select * from test_yyp_002 where ID2 like '___8' ;  //ID2中4个字符,以8结尾的记录

(3)使用百分号和下划线通配符进行查询操作
如果要匹配字符串中的% 和_ 需要在通配字符串中使用右斜线 (“\”)对百分号和下划线进行转义。
例如:“\%” 匹配百分号字面值, “\_”匹配下划线字面值

select * from test_yyp_0012 where ID2 like '%\%%' ;  //第一个和第三个% 是匹配任意个数的字符串


二、多表操作

1、外键:指引用另外一张表中的一列或多列,被引用的列应该具有主键约束或唯一性约束。
为表添加外键约束的语法:
alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(主键字段名);

三、连接查询

1、内连接

内连接使用比较运算符对两个表中的数据进行比较,并列出与连接条件匹配的数据行,组合成新的记录。
在内连接查询中,只有满足条件的记录才能出现在查询结果中。

语法格式:
select 查询字段 from 表1 inner join 表2 ON 表1.关系字段= 表2.关系字段;

如果在一个连接查询中,涉及的两个表是同一个表,这种查询称为自连接,在物理上为同一个表,但逻辑上分为2个表。

2、外连接
左连接:返回包括左表中的所有记录和右表中符合连接条件的记录。如果左表中的某条记录在右表中不存在,则在右表中显示为空。

右连接:返回右表中的队友记录和左表中符合连接条件的记录。

四:子查询
1、带EXISTS 关键字的子查询
EXISTS 关键字后面的参数可以是任意一个子查询,这个子查询的作用相当于测试,他不产生任何数据,只返回TRUE 或者FLASE ,当返回值为TRUE时,外层查询才会执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值