WHERE...AND
AND连接多个查询条件时表示查询的结果要同时满足给定的多个条件
在复合条件中使用AND的语法结构为:
SELECT 字段名
FROM 数据表名
WHERE 条件_1 AND 条件_2 AND 条件_3...
举例:
- 找出在居住地在中国大连的客户信息
SELECT ID,姓名
FROM 客户表
WHERE 国家='中国' AND 城市='大连'
WHERE...OR
OR连接多个查询条件时表示查询的结果只需满足给定的多个条件中的任何一个即可
在复合条件中使用OR的语法结构为:
SELECT 字段名
FROM 数据表
WHERE 条件_1 OR 条件_2 OR 条件_3...
举例:
2. 找出在居住地在中国和意大利的客户信息
SELECT *
FROM 客户表
WHERE 国家='中国' OR 城市='意大利'
WHERE...NOT
**NOT **在查询条件前表示找出除给定条件外的数据记录
在复合条件中使用NOT的语法结构为:
SELECT 字段名
FROM 数据表
WHERE NOT 条件_1
举例:
3. 找出除在美国外的所有客户信息
SELECT *
FROM 客户表
WHERE NOT 国家='美国'
update user set username='root' where username='myroot'
-- 插入完整的行
insert info user values(10,'root','root','sss@wilmar.com')
-- 插入行的一部分
insert info user(username,password,email)
valuse('admin','admin','xxx@wilmar.com')
-- 插入查询的数据
insert into user(username)
select name
from acciut
-- 更新数据
upadte user set username='root',password='root'
where username = 'root'
-- 删除指定数据
delete from user where='robot'
-- 清空表中数据
truncate table user
-- 查询多列
select id,name,price from products
-- 查询所有
select * from products
-- 查询不同的值
select distinct id from products
-- 限制查询口结果 返回3-5行 2 开始行数 3 条数
select * from products limit 2,3
-- 子查询的子查询
select name, contact
from customers
where id in (select id from orders where order_num(
select order_num from orderitems where prod_id = 'd-01-01'
))
-- BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于某个范围内的值
select from products between 3 and 5
-- 搜索某种模式
like
-- IN 操作符在 WHERE 子句中使用,作用是在指定的几个特定值中任选一个值
select from products where id in ('DLL01','BRS01')
-- 不等于
<> 或者 !=
-- AND、OR、NOT 是用于对过滤条件的逻辑处理指令
-- AND 优先级高于 OR,为了明确处理顺序,可以使用 ()
-- AND 操作符表示左右条件都要满足
select id,name,price from products where id='11' and price<=4
-- OR 操作符表示左右条件满足任意一个即可
select id,name,price from products where id='11'or id='22'
-- NOT 操作符用于否定一个条件
select from products where price not between 3 and 5
-- LIKE 操作符在 WHERE 子句中使用,作用是确定字符串是否匹配模式
-- 只有字段是文本值时才使用 LIKE
-- LIKE 支持两个通配符匹配选项:% 和 _
-- 不要滥用通配符,通配符位于开头处匹配会非常慢
-- % 表示任何字符出现任意次数 a晓a 可以 aa晓aa 可以
select id,name,price from products where name like '%晓%'
-- _ 表示任何字符出现一次 a晓a 可以 aa晓a 不可以
select id,name,price from products where name like '_晓_'
-- join 内连接vendors 库名 另一个库名products
select v_name,p_name,p_price from vendors inner join products
on vendors.v_id = products.v_id
-- 自连接
select c1.id,c1.name,c1.con from customers c1, customers c2
where c1.name = c2.name and c2.con = 'asd'
-- 自然连接(NATURAL JOIN)
select * from products natural join customers
-- 左连接(LEFT JOIN)
select customers.id orders.order_num from customers left join orders
on customers.id = orders.id
-- 右连接(RIGHT JOIN)
select customers.id,orders.order_num from customers right join orders
on customers.id=orders.id
-- UNION 运算符将两个或更多查询的结果组合起来,并生成一个结果集,其中包含来自 UNION 中参与查询的提取行
-- UNION 基本规则
-- 所有查询的列数和列顺序必须相同
-- 每个查询中涉及表的列的数据类型必须相同或兼容
-- 通常返回的列名取自第一个查询
-- 默认会去除相同行,如果需要保留相同行,使用 UNION ALL
-- 只能包含一个 ORDER BY 子句,并且必须位于语句的最后
-- 应用场景
-- 在一个查询中从不同的表返回结构数据
-- 对一个表执行多个查询,按一个查询返回数据
select name,contact,email from customers where state in ('il','in','mi')
UNION
select name,contact,email from customers where name = 'panda'