SQLSERVER 之APPLY用法

首先 APPLY 分为 OUTER APPLY 和CROSS APPLY

现在有一个订单表和一个客户表
在这里插入图片描述

CREATE TABLE USERS(
USERID INT  PRIMARY KEY IDENTITY(1000,1),
USERNAME VARCHAR(10) NULL,
USERSEX BIT NULL
)
CREATE TABLE USERSORDER(
ORDERSID INT  PRIMARY KEY IDENTITY(1,1),
ORDERNAME VARCHAR(100) NULL,
ORDERCOMMIT VARCHAR(1000),
USERORDERID INT,
ORDERMONEY MONEY
)

SELECT * FROM USERS
SELECT * FROM USERSORDER
INSERT INTO USERS VALUES('小明',0),('毛阿敏',1),('李白',0),('程普',0)
INSERT INTO USERSORDER VALUES('伊斯兰狗*1','乖巧可爱',1000,7000),('加菲猫','乖巧可爱',1002,10000),('九尾狐狸*1','乖巧可爱',1000,5000),('小鸟依人','乖巧可爱',1000,9000),('啧啧啧*1','哒哒哒',1001,9000)

使用 OUTER APPLY试验

SELECT * FROM USERS A OUTER APPLY(SELECT * FROM USERSORDER U WHERE A.USERID=U.USERORDERID)AS Q

在这里插入图片描述

使用 CROSS APPLY试验

SELECT * FROM USERS A CROSS APPLY(SELECT * FROM USERSORDER U WHERE A.USERID=U.USERORDERID)AS Q

在这里插入图片描述

可以得出 OUTER APPLY以左边表为主
而CROSS APPLY以右边表为主

不断的努力就是更好的明天

猜你喜欢

转载自blog.csdn.net/qq_38752165/article/details/83274703
今日推荐