您的位置:首页 > 娱乐 > 明星 > 软件开发工具与环境自考真题07169_自媒体营销的策略和方法_如何建立免费个人网站_站外推广怎么做

软件开发工具与环境自考真题07169_自媒体营销的策略和方法_如何建立免费个人网站_站外推广怎么做

2025/8/21 16:19:22 来源:https://blog.csdn.net/songguiren/article/details/146533198  浏览:    关键词:软件开发工具与环境自考真题07169_自媒体营销的策略和方法_如何建立免费个人网站_站外推广怎么做
软件开发工具与环境自考真题07169_自媒体营销的策略和方法_如何建立免费个人网站_站外推广怎么做

SELECT *FROM [Order Details]
–表查询时,如果表名中间有空格,加中括号

子查询

又称(嵌套查询 ),可以用in/exists语句实现,大致相同

IN语句

我们用之前的方式查询 出版过类型为business的出版社名和出版社id,多表查询:
SELECT pub_name,pub_id
FROM publishers,titles
WHERE titles.pub_id=publishers.pub_id
AND titles.type=‘business’

用in语句来查询
SELECT pub_name,pub_id
FROM publishers
WHERE pub_id IN (
SELECT pub_id
FROM titles
WHERE titles.type=‘business’)

普通IN语句形式如下:WHERE type IN (‘business’,‘mod_cook’)
而子查询可以 用语句 筛选符合条件的列 放入括号,而不需要逐一列举出来
注意的是,in语句括号里的select语句只能查询一列,一般与括号外需要匹配条件的的列相同,是不同表的同一列,不可以select *

举例

找1994年这一年,单本书销量最高的作者名
SELECT au_lname,au_fname
from authors,titleauthor,titles //查询authors表的姓名两列,同时需要连接另外两表
where authors.au_id=titleauthor.au_id
AND titleauthor.title_id=titles.title_id//连接authors表,titleauthor,titles
and titles.title_id in ( //限定条件,查找titles表的title_id,要求符合以下条件
select TOP 1 title_id
from sales
WHERE ord_date LIKE ‘%1994%’
order by qty desc
)//在sales表中查询 title_id,它的ord_date模糊匹配194,同时降序排列,只输出首位,即销量最高的一位

联接查询

在之前的多表查询中,我们采用直接查询加WHERE语句限制的方式,如
SELECT *
FROM titles,publishers
WHERE titles.pub_id=publishers.pub_id
这样的查询方式,计算机的操作方式是,对两张表的pub_id做乘法,给出所有匹配组合
即,publishers表有8列,titles表有18列,则会输出18*8=144列查询信息
然后在144列中筛选符合WHERE语句限定条件的列输出
这样的查询方式会占用大量的存储空间,在数据量较大时是不被推荐的,如果要直接选出18列符合条件的,可以用联接查询

内联接

SELECT *
FROM titles inner join publishers on (titles.pub_id=publishers.pub_id)
–这样可以直接选出18行符合条件的
在这里插入图片描述

举例

多表查询进行内连接时
SELECT *
FROM titles inner join publishers on titles.pub_id=publishers.pub_id
inner join titleauthor on titles.title_id=titleauthor.title_id
inner join authors on authors.au_id=titleauthor.au_id
加入新表用inner join,on后加联接条件

外联接

左向外联接
SELECT *
FROM discounts LEFT OUTER JOIN stores ON (stores.stor_id=discounts.stor_id)
–左向外联接,LEFT OUTER JOIN联接表,ON加联接条件,左向外联接表示不论右方表内是否符合条件的元素,左侧均全部输出
如上例,不论是否有商店打了折扣,所有折扣列均会输出
在这里插入图片描述

右向外联接
同理,关键字为 right outer join

SELECT *
FROM discounts RIGHT OUTER JOIN stores ON (stores.stor_id=discounts.stor_id)

在这里插入图片描述

全外连接
不论双方是否有匹配条件的元素,均全部输出
SELECT *
FROM discounts FULL OUTER JOIN stores ON(stores.stor_id=discounts.stor_id)
在这里插入图片描述

交叉连接

SELECT *
FROM discounts CROSS JOIN stores
效果与直接多表查询相同
即:
SELECT *
FROM discounts,stores
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com