高级查询 --连接查询 select * from 表1,表2 ————形成笛卡尔积 select * from 表1,表2 where 表1.主键=表2.外键 ————主外键位置可以互换 --join on 内连接 格式: select * from 表1 join 外键 on 表1.主键 = 表2.外键 --查哪位学生的哪一门课考了多少分 select student.sname,course.cname,score.degree from student join score on sc…
高级查询: 一.多表链接 1,普通查询 select * from 表名,表名 where 表名.列名 = 表名.列名 2,join链接 select * from 表名 join 表名 on 表名.列名 = 表名.列名 二.多表联合 select * from 表名 where 列名='内容' union select * from 表名 where 列名='内容' 三.子查询(无关子查询) select * from 表名 where 列名 = (select 列名 from 表名 wher…
--select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 select distinct sex from student; --count 统计 select count(*) from student; select count(sex) from student; select count(distinct sex) from student; --top 取前N条记录 s…
掌握了这些,就比较高级啦 Using the Same Table Twice 如下面查询中的branch字段 SELECT a.account_id, e.emp_id, b_a.name open_branch, b_e.name emp_branch FROM account AS a INNER JOIN branch AS b_a ON a.open_branch_id = b_a.branch_id INNER JOIN employee AS e ON a.open_emp_id…
WITH FINISHMAINT (FRAMENO,DELIVEREDDATE) AS ( SELECT DISTINCT RP.FRAMENO, MAX(PRC.DELIVEREDDATE) OVER(PARTITION BY RP.FRAMENO) FROM RT_REPAIR RP LEFT JOIN RT_REPAIRPART P ON RP.REPAIRNO=P.REPAIRNO LEFT JOIN RT_RepairProcess PRC ON RP.REPAIRNO=PRC.REP…
Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1.查询“001”课程比“002”课程成绩高的所有学生的学号: select a.S# from (select s#,score from SC where C#='001') a,(select s#,score from SC where C#='002') b where a.score…
EXISTS 和NOT EXISTS子查询 EXISTS子查询 语法: SELECT ……… FROM 表名 WHERE EXISTS (子查询); 例: SELECT `studentNo` AS 学号,`studentResult` 成绩 FROM `result` WHERE EXISTS( /*查询LOgic Java最后一次考试成绩大于80的记录*/ SELECT * FROM `result` WHERE `subjectNo`=( SELECT `subjectNo` FROM…
1.嵌套子查询 --查询最近一次oop考试没有参加考试的学生 select StudentName from Student where StudentNo not in( select StudentNo from Result where SubjectId=( select SubjectId from Subject where SubjectName='oop' ) and ExamDate=( select MAX(ExamDate) from Result where Subjec…
01.SQL高级查询_排序 1.排序语句:order by 排序字段名 asc(默认的-升序) / desc(降序); 2.例如:查询所有服装类商品,将查询结果以价格升序排序: select * from product where category_id = '服装' order by price asc; 3.可以对数值类型.日期类型.英文字母的字符串字段进行排序: 4.对多列进行排序: 1).需求:查询所有的服装类商品,按价…
数据库查询的基本格式为: select ----输出(显示)你要查询出来的值 from -----查询的依据 where -----筛选条件(对依据(数据库中存在的表)) group by -----对筛选后的数据 进行分组 having ----- 筛选条件(对分组后的结果再次筛选) order by -----将结果进行排序 注意:基本语法格式顺序不能变,顺序不能变,但可以缺省 表结构操作 表结构操作是需要去修改表结构,使用的关键字是alter,其他方式无法对表进行操作的时候,比如,新增列,…
简介 关于数据库,我们经常会听说"增查删改"之类的词语,听起来很简单,但是如果想要准确的获取到需要的数据的话,还是要花点功夫的.下面由我来和大家谈谈高级查询的用法以及和普通查询的区别 高级查询 子查询 语法: select ...列名... from 表1 where 列1 (逻辑运算符,大于'>',等于'='...) ( select ...列名... from 表2 where 列2 (逻辑运算符,大于'>',等于'=…
---恢复内容开始--- SQL总结(二)连表查询 连接查询包括合并.内连接.外连接和交叉连接,如果涉及多表查询,了解这些连接的特点很重要. 只有真正了解它们之间的区别,才能正确使用. 1.Union UNION 操作符用于合并两个或多个 SELECT 语句的结果集. UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表. 当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行.两种情况下,派生表的每一行不…