日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql连接与嵌套查询_数据库之嵌套查询与连接查询

發布時間:2023/12/14 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql连接与嵌套查询_数据库之嵌套查询与连接查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

嵌套查詢

單值嵌套查詢

值返回結果是一個值的嵌套查詢稱為單值嵌套查詢

對Sales數據庫,列出市場部的所有員工的編號

USE Sale

GO

SELECT employee_id FROM employee

WHERE department_id=(?SELECT department_id

FROM?department

WHERE?department_name='市場部'

)

語句的執行過程分兩個過程,首先在部門表(department)中找出“市場部”的編號(例如為D002)然后再在員工表中找出部門號等于D002的記錄,列出這些記錄的員工編號。

多值嵌套查詢

子查詢的返回結果是一列值的嵌套查詢稱為多值嵌套查詢。若某個查詢的返回值不止一個,則必須指明在WHERE子句中應怎樣使用這些返回值。通常使用條件運算ANY(或SOME),ALL和IN

1,ANY運算符的用法

對Sales數據庫,列出D001號部門中工資比D002號部門的員工最低工資高的員工編號和工資。

ANY 用法: ANY()

用法說明:滿足子查詢中任意一個值的記錄

SELECT employee_id,wages FROM employee

WHERE department_id='D001' AND wages>ANY

(?SELECT wages

FROM?employee

WHERE?department_id='D002'

)

2,ALL運算符的用法

ALL用法: ALL()

用法說明:滿足子查詢中所有值的記錄

對Sales數據庫,列出部門編號為D001的員工,這些員工的工資比部門為D002的員工的最高工資還要高的員工的編號和工資

SELECT employee_id,wages FROM employee

WHERE department_id='D001' AND wages>ALL

(?SELECT wages

FROM?employee

WHERE?department_id='D002'

)

3,IN運算符的用法

IN用法:IN< 結果集合>或者IN()

用法說明:字段內容是結果集合或者子查詢中的內容

對Sales數據庫,列出部門為市場部或銷售部的所有員工的編號

SELECT employee_id FROM employee

WHERE department_id?IN

(?SELECT department_id FROM department

WHERE?department_name='市場部'?OR

department_name='銷售部'

)

IN是屬于的意思等價于“=ANY”,即等于子查詢中任何一個值。

連接查詢

通過連接運算符可以實現多個表查詢,連接可以在SELECT語句的WHERE子句中建立

對Sales數據庫輸出所有員工的銷售單,要求給出員工編號,姓名,商品編號,商品名和銷售數量。

SELECT

employee.employee_id,employee.employee_name,goods.goods_id,goods.goods_name,sell_order.order_num

FROM?employee,sell_order,goods

WHERE employee.employee_id=sell_order.employee_id and

sell_order.goods_id=goods.goods_id

以上語句中,由于員工編號,商品編號等字段名在兩個表出現,為防止二義性,在使用時在其字段前加上表明以示區別(如果字段名唯一,可以不加表名),但表明一般輸入時比較麻煩,所以在語句中,可在FROM子句中給相關表定義別名,以利于在查詢其他部分中是使用。

連接也可以在FROM子句中建立,而且在FROM子句中指出連接時有助于將連接操作與WHERE子句中的搜索條件區分開來。所以,在Transact-SQL中推薦使用這種方法。FROM子句建立連接的語法格式如下:

FROM join_table [join_type] JOIN join_table ON join_condition

各選項含義如下:

join_table:指出參與連接操作的表名,連接可以對同一個表操作,也可以對多表操作,對同一個表的鏈接又稱為自連接。

join_type:指出連接類型,可分為3類:內連接,外連接和交叉連接

內連接:使用比較運算符進行表間某(些)列數據的比較操作,并列出這些表中與連接條件相匹配的數據行,根據所使用的比較方式不同,內連接又可以分為等值連接,不等值連接,自然連接3種

外連接:分為左外連接,右外連接和全外連接3種,與內連接不同的是,外連接不只列出與連接條件相匹配的行,而是列出左表(左外連接時),右表(右外連接時)或兩個表(全外連接時)中所有符合搜索的數據行。

交叉連接沒有WHERE子句,他返回外連接表中所有數據行的笛卡爾積,其結果集合中的數據行數等于第一個表中符合查詢條件的數據行數乘以第二個表中符合查詢條件的數據行數。

ON join_condition:指出連接條件,它由被連接表中的列和比較運算符,邏輯運算符等構成

上例用FROM子句建立如下:

SELECT

a.employee_id,a.employee_name,c.goods_id,c.goods_name,b.order_num

FROM?employee a INNER JOIN

sell_order b ON a.employee_id=b.employee_id INNER JOIN

goods c ON b.goods_id=c.goods_id

內連接

1,等值連接

在連接條件中使用等號運算符比較被連接列的值,按對應列的共同值講一個表中的記錄與另一個表中記錄相連接,包括其中的重復列。

Sales數據庫中部門表department和員工表employee的等值連接

SELECT *

FROM department INNER JOIN

employee ON employee.department_id=department.department_id

2,不等值連接

在連接條件中使用除等于運算符以外的其他比較運算符比較背連接的列的列值。這些運算符包括>,>=,<=,,!

對Sales數據庫,列出銷售G00001產品的員工中,銷售數量大于編號為E001的員工銷售該類產品銷售數量的那些員工的編號和銷售數量。

SELECT a.employee_id,a.order_num

FROM sell_order a INNER JOIN

sell_order b ON a.order_num>b.order_num AND

a.goods_id=b.goods_id

WHERE (b.goods_id='G00001') AND (b.employee_id='E001')

在語句中,將sell_order看作a和b兩個獨立的表,b表中選出的編號為E001員工銷售G00001產品的記錄,a.order_num>b.order_num反映的是不等值聯接。

3,自然連接

在連接條件中使用等于(=)運算符比較被連接列的列值,它使用選擇列表方式來指出查詢結果集合中所包括的列,并刪除連接表中的重復列。

Sales數據庫中部門表department和員工表employee的自然連接

SELECT a.department_name,b.*

FROM?department a INNER JOIN

employee b ON b.department_id=a.department_id

外連接

1,使用左外連接

左外連接通過左向外連接引用左表的所用行

員工表左外連接銷售表sell_order

SELECT

a.employee_id,a.employee_name,b.goods_id,b.order_num,b.send_date

FROM employee a LEFT OUTER JOIN

sell_order b ON a.employee_id=b.employee_id

左外連接用于兩個表中,它限制表sell_order中的行,而不限制表employee中的行,也就是說,在左外連接中,表employee中不滿足條件的行也顯示出來。在返回結果中,所有不符合連接條件的數據行中的列值均為NULL。

2,使用右外連接

右外連接通過右向外連接引用右表的所有行

員工表employee右外連接銷售表sell_order

為了說明方便,現在sell_order表中插入一條銷售信息。

INSERT INTO

sell_order(order_id,goods_id,employee_id,customer_id,transporter_id,order_num,discount,order_date,send_date,arrival_date,cost)

VALUES('S00006','G00005','','C0006','T002',21,0.5,GETDATE(),GETDATE(),GETDATE(),100)

SELECT

a.employee_id,a.employee_name,b.goods_id,b.order_num,b.send_date,b.order_id

FROM employee a RIGHT OUTER

JOIN

sell_order b ON a.employee_id=b.employee_id

右外連接用于兩個表中,它不限制表sell_order中的行,而限制表employee中的行,也就是說,在右外連接中,表sell_order中不滿足條件的行也顯示出來。運行語句的輸出結果是銷售表sell_order中的所有記錄,員工表employee中符合和不符合連接條件的記錄以NULL替代。

3,使用全外連接

全外連接返回兩個表的所有行。不管兩個表的行是否滿足連接條件,均返回查詢結果集,對不滿足連接條件的記錄,另一個變胖相對應字段用NULL代替。

員工表employee全外連接銷售表sell_order

SELECT

a.employee_id,a.employee_name,b.goods_id,b.order_num,b.send_date,b.order_id

FROM employee a FULL OUTER JOIN

sell_order b ON a.employee_id=b.employee_id

交叉連接

交叉連接不帶WHERE子句,他返回被連接的兩個表所有數據行的笛卡爾積,返回到結果集合中的數據行數等于第一個表中符合查詢條件的數據行數乘以第二個表中符合查詢條件的數據行數。例如部門表department中有4個部門,而員工表employee中有7名員工,則下列交叉連接檢索到的記錄數將等于4*7=28行

SELECT

a.department_id,a.department_name,b.employee_id,b.employee_name

FROM department a CROSS JOIN

employee b

總結

以上是生活随笔為你收集整理的mysql连接与嵌套查询_数据库之嵌套查询与连接查询的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩图片 | 亚洲一区二区美女 | 免费在线播放黄色片 | 国产三区在线播放 | 亚洲第一视频 | 美女国产毛片a区内射 | 合欢视频在线观看 | 国产日韩欧美成人 | 上原亚衣av一区二区三区 | 欧美一区二区大片 | 日韩一区二区不卡视频 | 亚洲熟妇中文字幕五十中出 | 日本一本久草 | 成人你懂的 | 天天摸天天操天天射 | 亚洲av高清一区二区三区 | 成都电影免费大全 | 中文在线最新版天堂8 | 少妇资源| 九九视频在线免费观看 | 日韩和的一区二区 | 激情内射亚洲一区二区三区爱妻 | 人人天天夜夜 | 久久久久一区二区精码av少妇 | 精品一区二区在线观看视频 | 亚洲欧美日本韩国 | 无码 制服 丝袜 国产 另类 | 国内精品二区 | 91香蕉视频在线 | 中文字幕日韩在线观看 | 妺妺窝人体色777777 | 宝贝乖h调教灌尿穿环 | 一区二区三区视频在线观看 | 高清欧美性猛交xxxx黑人猛交 | 中文字幕亚洲成人 | 韩国女主播一区 | 国产亚洲精品久久久久久久久动漫 | 亚洲一区二区日本 | 国产天天操 | 欧美日韩中文字幕在线播放 | 日韩欧美中文字幕在线播放 | 2019日韩中文字幕mv | 向日葵视频在线播放 | 欧美综合久久 | 国语对白一区 | 黄色资源在线观看 | 妹子色综合 | 成人av手机在线 | 午夜精品久久久久久久99热黄桃 | 美女黄色在线观看 | 特黄色一级片 | 高h av| 波多野结衣有码 | 97se视频| 欧美成人三区 | 国产亚洲高清视频 | 日韩精品久久 | 久久综合综合 | 国产又好看的毛片 | 插插宗合网 | 视频二区 | 69久久成人精品 | 福利国产视频 | 手机在线中文字幕 | 日本欧美在线 | 黄色的网站免费观看 | 久青草资源福利视频 | 日韩第九页| 中国成人av| 国产精品国产精品国产专区不卡 | 床戏高潮做进去大尺度视频 | 色网站在线播放 | 中日韩男男gay无套 人人草人人干 | 一区二区三区视频播放 | 黑人玩弄人妻一区二区三区 | 亲子乱aⅴ一区二区三区 | av中文字幕免费 | 在线免费不卡视频 | 荫蒂被男人添免费视频 | 日韩一区二区三区高清 | 成人精品一区二区三区视频 | 精品一区二区三区四区 | 四虎网站最新网址 | 国内成人自拍 | 少妇太爽了 | 久久婷婷五月综合色吧 | 亚洲一区二区三区不卡视频 | 不卡影院av | 久久精品h | 相亲对象是问题学生在线观看 | www.久操| 久久视频在线观看免费 | 国产成人精品综合在线观看 | 丝袜视频一区 | 日本熟妇人妻xxxxx | 日韩电影在线一区 | 福利视频在线免费观看 | 国产+日韩+欧美 | 驯服少爷漫画免费观看下拉式漫画 |