Questions tagged «sql»

结构化查询语言(SQL)是用于查询数据库的语言。问题应包括代码示例,表结构,示例数据以及正在使用的DBMS实现的标签(例如MySQL,PostgreSQL,Oracle,MS SQL Server,IBM DB2等)。如果您的问题仅涉及特定的DBMS(使用特定的扩展名/功能),请改用该DBMS的标签。使用SQL标记的问题的答案应使用ISO / IEC标准SQL。




14
子查询与联接
我重构了我们从另一家公司继承来的应用程序的缓慢部分,以使用内部联接而不是子查询,例如: WHERE id IN (SELECT id FROM ...) 重构查询的运行速度提高了约100倍。(约50秒,约0.3秒),我期望有所改善,但是谁能解释为什么如此剧烈?where子句中使用的列均已建立索引。SQL是否在where子句中每行执行一次查询? 更新 -说明结果: 区别在于“(())中的id”查询的第二部分- 2 DEPENDENT SUBQUERY submission_tags ref st_tag_id st_tag_id 4 const 2966 Using where vs 1带有连接的索引行: SIMPLE s eq_ref PRIMARY PRIMARY 4 newsladder_production.st.submission_id 1 Using index


9
选择SQL Server数据库大小
我如何查询我的sql服务器以仅获取数据库的大小? 我用这个 use "MY_DB" exec sp_spaceused 我懂了 : database_name database_size unallocated space My_DB 17899.13 MB 5309.39 MB 它返回了我不需要的几列,也许有一个技巧可以从此存储过程中选择database_size列? 我也尝试了这段代码: SELECT DB_NAME(database_id) AS DatabaseName, Name AS Logical_Name, Physical_Name, (size * 8) / 1024 SizeMB FROM sys.master_files WHERE DB_NAME(database_id) = 'MY_DB' 它给了我这个结果: DatabaseName Logical_Name Physical_Name SizeMB MY_DB MY_DB D:\MSSQL\Data\MY_DB.mdf 10613 MY_DB MY_DB_log …

2
为什么我不能在DELETE语句中使用别名?
在Visual Studio 2010的SQL Server Compact Edition中(也许我不知道SQL Server和SQL),此命令有效: DELETE FROM foods WHERE (name IN ('chickens', 'rabbits')) 但是此命令产生以下错误: Error near identifier f. Expecting OUTPUT. DELETE FROM foods f WHERE (f.name IN ('chickens', 'rabbits'))


3
PostgreSQL列名称区分大小写吗?
我persons在另一个列名称为的团队的Postgres中有一个db表说"first_Name"。现在我正试图使用​​PG命令来查询此列名上的该表。 select * from persons where first_Name="xyz"; 它只是返回 错误:列“ first_Name”不存在 不确定我是否在做愚蠢的事情,或者是否有解决此问题的解决方法?



30
MySQL:无法建立表格(错误编号:150)
我正在尝试导入.sql文件及其在创建表时失败。 这是失败的查询: CREATE TABLE `data` ( `id` int(10) unsigned NOT NULL, `name` varchar(100) NOT NULL, `value` varchar(15) NOT NULL, UNIQUE KEY `id` (`id`,`name`), CONSTRAINT `data_ibfk_1` FOREIGN KEY (`id`) REFERENCES `keywords` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 我从同一数据库中导出了.sql,删除了所有表,现在我试图导入它,为什么会失败? MySQL:无法建立表格'./dbname/data.frm'(错误号:150)

5
如何在不递增的情况下检索Oracle序列的当前值?
是否有一条SQL指令来检索不递增序列值的值。 谢谢。 编辑与结论 正如贾斯汀·凯夫(Justin Cave)所说,尝试“保存”序列号没有用,因此 select a_seq.nextval from dual; 足以检查序列值。 我仍然保持Ollie的回答为好答案,因为它回答了最初的问题。但请问一下自己是否有必要修改序列的必要性。
156 sql  oracle  sequence 

2
SQL ON DELETE CASCADE,删除以哪种方式发生?
如果我在数据库中有两个关系,如下所示: CREATE TABLE Courses ( CourseID int NOT NULL PRIMARY KEY, Course VARCHAR(63) NOT NULL UNIQUE, Code CHAR(4) NOT NULL UNIQUE ); CREATE TABLE BookCourses ( EntryID int NOT NULL PRIMARY KEY, BookID int NOT NULL, Course CHAR(4) NOT NULL, CourseNum CHAR(3) NOT NULL, CourseSec CHAR(1) NOT NULL ); 我在两者之间建立了外键关系,如下所示: …

7
在PostgreSQL中按月和年分组查询结果
我在Postgres服务器上有以下数据库表: id date Product Sales 1245 01/04/2013 Toys 1000 1245 01/04/2013 Toys 2000 1231 01/02/2013 Bicycle 50000 456461 01/01/2014 Bananas 4546 我想创建一个查询,给出SUM了的Sales按月份和年份如下列并对结果进行分组: Apr 2013 3000 Toys Feb 2013 50000 Bicycle Jan 2014 4546 Bananas 有没有简单的方法可以做到这一点?
156 sql  postgresql 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.