驱动表与被驱动表 先了解在join连接时哪个表是驱动表,哪个表是被驱动表:1.当使用left join时,左表是驱动表,右表是被驱动表2.当使用right join时,右表时驱动表,左表是驱动表3.当使用join时,mysql会选择数据量比较小的表作为驱动表,大表作为被驱动表 join查询如何选择驱动表与被驱动表 在sql优化中,永远是以小表驱动大表. 例如: A是小表,B是大表 使用left join 时,则应该这样写select * from A a left join B b on a.c
select * from td left join (select case_id as sup_case_id , count(*) supervise_number from td_kcdc_case_sup_info group by case_id ) sup on sup.sup_case_id = td.case_id where 1=1 /*不能去掉, 否则认为and 后的条件为 联合查询时的条件, 不能起过滤作用,由于left join因此td表中记录将全
1.查询数据库中的所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.查询某个数据库中所有的表名: SELECT Name FROM SysObjects Where XType='U' ORDER BY Name 3.查询表结构信息: 1 SELECT (case when a.colorder=1 then d.name else null end) 表名, 2 a.colorder 字段序号,a.name 字段名, 3
--更新字段为随机时间 86400秒=1天 UPDATE dl_robot ), ,GETDATE()) ) SQL存在一个表而不在另一个表中的数据 方法一 使用 not in ,容易理解,效率低 select distinct A.ID from A where A.ID not in (select ID from B) www.2cto.com 方法二 使用 left join...on... , "B.ID isnull" 表示左连接之后在B.ID 字段为
--表数据查询----数据的基本查询-- --数据简单的查询--select * | 字段名[,字段名2, ...] from 数据表名 [where 条件表达式] 例: use 商品管理数据库 go select * from 商品信息表 select 商品编号,商品名称,产地 from 商品信息表 selelct * from 商品信息表 where 产地='辽宁沈阳' 理解例子 --关键字辅助查询-- --1)distinct关键字 (用来消除查询结果中的重复行,使用时紧跟在select命