#进阶6: 连接查询 (多表连接) : 等值连接/非等值连接 /左右全连接/内连接 /* 含义: 当查询的字段来自于多个表时, 就会用到连接查询 一: sql 92标准 :等值连接 ,(#内连接) 1.可以为表区别名,区分多个重名的字段 2.为表使用别名后,只能使用别名去"select"! 二:非等值连接 1.where 列名 BETWEEN ... AND ... 三:自连接 :自己连接自己 四:左 / 右 外连接 1.应用场景: 用于查询一个表有内容,另一个表没有内容 如果从表中有…
如:表a,连接表b,b中有多条符合查询的记录 1.建立需要的子查询 $sub = DB::table('b')->select(['aid'])->selectRaw('max(id) as id')->grouBy('id'); 2.建立连接查询 $_list = DB::table('a')->leftJoin(DB::raw('({$sub->toSql()}) as b),'a.id','=','b.aid)->get() 这样就可以使得左连接查询中右表记录只查…
准备我们需要的表结构和数据 两张表 studnet(学生)表和score(成绩)表, 创建表的SQL语句如下 CREATE TABLE `student` ( `id` int(11) NOT NULL, `no` varchar(20) DEFAULT NULL, `name` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `score` (…
在实际开发中,我们往往需要比较两个或多个表数据的差别,比较那些数据相同那些数据不相同,这时我们有一下三种方法可以使用:1. IN或NOT IN,2. EXIST或NOTEXIST,3.使用连接查询(inner join,left join 或者 right join). 看下面的数据,我们准备选择出在depart_info中的pid在user_info中不存在的depart_信息. 有表1:depart_info 表2:user_info 方法一:采用NOT IN IN和NOT IN后面接的是一…
mysql数据导入导出: 导入: 把系统的文件的内容,保存到数据库的表里 导入数据的基本格式:mysql> load data infile "文件名" into table 表名 fields terminated by '分隔符' lines terminated by '\n'; 实例:把系统用户信息保存到hydra01库下的userinfo表里 mysql> create table userinfo(name char(20),password char(1),u…
#进阶8 分页查询 /* 应用场景: 当要显示的数据,一页显示不全,需要分页提交sql请求 语法: select 查询列表 #7 from 表1 #执行顺序:#1 [join type join 表2 #2 on 连接条件 #3 where 筛选条件 #4 group by 分组字段 #5 having 分组后筛选或函数 #6 order by 排序的字段 #8 ] limit offset, size ; #9 #offset 要显示条目的起始索引(从0开始,0想可以省略),size 要显示的…
SQL查询顺序 select distinct/top ..._ (5) 投影 from_(1)找到表  where_ (2)过滤掉我们不需要的数据    group by_ (3)分组操作    having_ (4)对分组后的数据进行过滤 order by_(6)排序 上机案例学习 Join内连接    左连接.右连接待补充…
#进阶 : 联合查询 /* union 联合 合并: 将多条查询语句的结果合并成一个结果 语法: 查询语句1 union 查询语句2 union ... 应用语境: 要查询的结果来自多个表,但查询的列数的列信息一致时,可将最终结果归于一个表中 注意: 需要自己将所有的字段名自己按顺序摆放; */ #引入的案例 : 查询部门编号 或邮箱包含a的员工信息 ; SELECT * FROM employees WHERE email LIKE '%a%' UNION ; #案例1: 查询中国用户中年龄>…
#进阶3 排序查询 格式: select 查询列名 from 表 [where 筛选条件] order by 排序列名 [asc / desc] 排序查询/嵌套排序查询/函数查询/[按别名进行 排序]/  [按表达式排序] /[按多个字段] #进阶3 排序查询/ /* select 查询列名 from 表 [where 筛选条件] order by 排序列名 [asc / desc] */ # 案例2: 查询部门编号 的员工信息,按入职时间先后进行排序 SELECT * FROM employe…
知识点及练习 USE myemployees; #.查询表中的单个字段 SELECT last_name FROM employees; #.查询表中多个字段 #.查询全部 SELECT * FROM employees; #.查询常量值 ; SELECT 'john'; #.查询表达式 ; #.查询函数 SELECT VERSION(); #/给字段起别名 AS 结果; #方式一 SELECT last_name AS 姓,first_name AS 名 FROM employees; #方式…