SQL Server 基础知识之 DML应用,表连接的select语句
实际查询数据,可能在多个表中。有内部连接,和外部连接。
内部连接语法
核心:找到两个表中相同的部分,就是where后‘’ x = x‘’
示例:
第2种 查询方法:
两点注意:A. 才用 inner join on 的语法
B.同一个表的话,可以用,逗号 省略表名,如学生信息.姓名,学号,性别
示例代码:
使用别名方式查询
from xx as x,xxx as xxxx
但是,最好将名称写完整。就是加上表名。使用别名的话,加上别名。如下图的划线部分
上图, select后用的是简写方式
from后用的是别名方式 inner join on是内部连接
(注意内部连接,只有在匹配到相同的数据时才做输出)
and 条件
order by 排序 desc降序
做个练习:
代码如下:
使用外部连接
注意:
左表: 先写的表
右表:后写的表
左外连接
LEFT OUTER JOIN
案例:
学生信息 这个表就是左表
左表都显,右表没有的补null。。。
右外连接
代码示例
类似上图左外部连接,只要将right改成left即可
完全连接
结果如下:
子查询
其实就是 where子句的条件
用括号()括起来
代码示例:
先看这个
再看这个:
第一个图中的9512101,9512102,9512103就是第二个图中()里的。只不过第二个图用了嵌套这个题剖析一下:
先写上第一个条件 where cno = ‘c02’
然后写上第二个条件 and grade > 平均成绩
(这里要做个聚合函数求均值,聚合又不能放在where后,只好做个子查询喽)
用括号括起来 (select AVG(grade)
from sc
where cno =‘c02’ )
完整如下:
select 语句 到此结束