SQL语句中USE
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句中USE相关的知识,希望对你有一定的参考价值。
USE pubs
SELECT title_id FROM sales WHERE title_id IN
(
SELECT title_id
FROM titles
WHERE type = 'business '
)
DELETE sales
WHERE title_id IN
(
SELECT title_id
FROM titles
WHERE type = 'business '
)
请大家帮帮忙注释一下每句语句意思,这是什么结构的查询呢
SELECT title_id FROM sales WHERE title_id IN-----查询字段title_id符合号内限定条件的表sales的 title_id 列
(
SELECT title_id
FROM titles
WHERE type = 'business '------------查询表titles中 type字段值为business的title_id字段。
)------也就是要查询的内容跟类型是商务的编号一样
DELETE sales
WHERE title_id IN
(
SELECT title_id
FROM titles
WHERE type = 'business '-----------括号内为:查询类型是商务的id号
)-------------删除sales表中 类型是商务的 参考技术A 总共3个语句:
USE pubs -- 选择数据库pubs
---语句2开始
--- 从 sales 表查询title_id,且title_id的值包含在括号中的子查询
SELECT title_id FROM sales WHERE title_id IN
(
SELECT title_id
FROM titles
WHERE type = 'business '
--- 括号子查询注解:从titles表中查询title_id,满足条件type字段='business'
)
---语句2结束
--- 以下是语句3
--- 删除sales表中满足条件的记录,即title_id包含于子查询中表titles中type为'business‘的记录
DELETE sales
WHERE title_id IN
(
SELECT title_id
FROM titles
WHERE type = 'business '
)
在 SQL 语句中使用 'If Exists' 两次
【中文标题】在 SQL 语句中使用 \'If Exists\' 两次【英文标题】:Use 'If Exists' twice inside SQL Statement在 SQL 语句中使用 'If Exists' 两次 【发布时间】:2018-06-21 17:09:53 【问题描述】:我正在尝试创建一个不存在的用户。我听起来很容易,但我需要控制是否存在其他东西。所以我使用了两次'IF EXISTS'。这是我的代码:
IF NOT EXISTS (SELECT userID
FROM UserTable
WHERE usernameID = (IF NOT EXISTS(SELECT usernameID
FROM UsernameTable
WHERE name = 'Martijn')
BEGIN
INSERT INTO UsernameTable(name)
VALUES ('Martijn');
END
SELECT usernameID
FROM UsernameTable
WHERE name = 'Martijn';)
AND country = 'Netherlands')
BEGIN
INSERT INTO UserTable(usernameID, country)
VALUES (1, 'Netherlands');
END
我该如何解决这个问题?因为 MySQL 不喜欢 IF EXISTS
我正在检查我的 usernameID
。我需要为此办理手续吗?
【问题讨论】:
您需要两个命令 - 一个用于用户,一个用于用户/国家组合。 有没有办法把所有东西都放在一个 SQL 语句中? 创建一个你所拥有的简单架构。您正在使用哪个版本的 MySQL?您也许可以使用 upsert-ish 语法来完成您所需要的。 我正在使用 Microsoft SQL Server Management Studio 2017。最新和最新版本。 您在帖子中标记了 MySQL,但您说您使用的是 Microsoft SQL Server 客户端。您使用的是 MySQL 还是 Microsoft SQL Server? 【参考方案1】:我搜索了一些解决方案,但最好的是使用PROCEDURE
。
您可以在PROCEDURE
中创建多个IF EXISTS
。
创建新用户后,我还能够保存我的 ID。
【讨论】:
【参考方案2】:在 SQL Server 中,您应该可以这样做:
IF NOT EXISTS (SELECT userID FROM UserTable WHERE name = 'Martijn')
BEGIN
INSERT INTO UsernameTable(name, country)
VALUES ('Martijn', 'Netherlands');
END;
这是尝试理解您的 SQL 代码。如果不存在“Martijn”,则将“Martijn”插入表中。
【讨论】:
以上是关于SQL语句中USE的主要内容,如果未能解决你的问题,请参考以下文章