条件查询:
SELECT <目标列表达式>
FROM <表名或试图名>
WHERE <比较条件表达式>
比较条件有:
= 等于
> 大于
< 小于
>= 大于等于
<= 小于等于
!=或<> 不等于
!> 不大于
!< 不小于
select * from User_Info
where User_tel <666;
范围查找:
BETWEEN AND:在指定范围内
NOT BETWEEN AND:不在指定范围内
select * from User_Info
where User_tel between 100 and 300;
集合条件查询
集合条件有:
IN:在指定集合内
NOT IN:不在指定集合内
select * from User_Info
where User_email in (1,2);
空值条件查询:
空值条件有:
IS NULL是空值
IS NOT NULL不是空值
select * from User_Info
where User_card_id is not null;
逻辑条件查询:
逻辑条件有:
AND 与逻辑,两个或多个条件同时满足时返回查询结果。
OR 或逻辑,任何一个条件满足时返回查询结果。
NOT 非逻辑,不满足条件时返回查询结果。
select * from User_Info
where User_pwd='123.com' and User_card_id is null;
select * from User_Info
where User_email=1 or User_card_id is not null;
select * from User_Info
where not User_email=1;
模糊查询:
模糊查询常使用通配符:
%:表示0个或0个以上的任意字符。
‘A%’:匹配以A开头的任意字符串;
‘%A’:匹配以A结尾的任意字符串;
‘A%B’:匹配以A开头,以B结尾的任意字符串;
‘%AB%’:匹配包含AB的任意字符串。
_(下划线):表示任意一个字符
‘_A’:匹配以A结尾的并且长度为2个字符的字符串。
[ ]:表示方括号内列出的任意单个字符。
‘[A-K]%’:匹配以A到K中的任意一个字符开头的字符串。
中文无法使用此通配符,
[ ^ ]:表示不在方括号内列出的任意单个字符
‘[^A-K]%’:匹配不是以A到K中的任意一个字符开头的字符串
select * from User_Info
where User_login_name like '%u';
子查询:
select * from User_Info
where
User_id=(select User_Id from User_Info where User_login_name='wangwu')
使用select生成新数据:
select select_list INTO new_table_name
FROM table_name
将查询到的数据插入到新表(自动创建):
select User_login_name,User_pwd
into Userinfo2
from User_Info
将查询到的结果插入到新表(已有表):
insert into User_Info1 (User_login_name,User_pwd)
select User_login_name,User_pwd from User_Info
使用UNION关键字,将多个不同的数据或查询结果合并成一个新的结果集:
语法格式:
INSERT INTO table-name1 [column_name]
SELECT select_list1 UNION
SELECT select_list2 UNION
insert into User_Info(User_login_name,User_pwd)
select 'qqq','123456' union
select 'aaa','123456' union
select 'zzz','123456' union
select User_login_name,User_pwd from User_Info