Tag: sql

如何在MySQL中执行分组sorting

所以我有一个表格如下: ID_STUDENT | ID_CLASS | GRADE —————————– 1 | 1 | 90 1 | 2 | 80 2 | 1 | 99 3 | 1 | 80 4 | 1 | 70 5 | 2 | 78 6 | 2 | 90 6 | 3 | 50 7 | 3 | 90 我需要然后分组,sorting和命令他们给: ID_STUDENT | […]

取消转换列名称

我有一张表格StudentMarks ,列Name, Maths, Science, English 。 数据就像 Name, Maths, Science, English Tilak, 90, 40, 60 Raj, 30, 20, 10 我想要把它安排如下: Name, Subject, Marks Tilak, Maths, 90 Tilak, Science, 40 Tilak, English, 60 With unpivot我能够得到名称,正确标记,但无法将源表中的列名称获取到所需结果集中的Subject列。 我怎样才能做到这一点? 我到目前为止已经达到以下查询(获得名称,标记) select Name, Marks from studentmarks Unpivot ( Marks for details in (Maths, Science, English) ) as UnPvt

Oracle与NVL和合并的区别

在Oracle中NVL和Coalesce之间有没有明显的区别? 明显的区别在于coalesce将返回参数列表中的第一个非null项目,而nvl只接受两个参数,如果不是null则返回第一个参数,否则返回第二个参数。 NVL似乎只是一个“Base Case”版本的合并。 我错过了什么吗?

如何使用SQLPLUScaching到CSV格式的文件?

我想提取一些查询到CSV输出格式。 不幸的是,我不能使用任何奇特的SQL客户端或任何语言来做到这一点。 我必须使用SQLPLUS。 我该怎么做?

使用ORM或纯SQL?

对于我开发的一些应用程序(后来忘记了),我一直在编写纯SQL,主要针对MySQL。 虽然我已经在Python中像SQLAlchemy一样使用了ORM,但是我并没有坚持太久。 通常这是文件或复杂性(从我的观点来看)阻止我回来。 我看到它是这样的:使用一个ORM的便携性,普通的SQL,如果它只是要使用一种types的数据库。 在开发需要数据库支持的应用程序时,我确实在寻找何时使用ORM或SQL的build议。 考虑一下,使用一个轻量级的包装来处理数据库不一致与使用一个ORM将会好得多。

以有效和简单的方式实现家长/子女关系

我有一张桌子 create table site ( site_Id int(5), parent_Id int(5), site_desc varchar2(100) ); 领域的意义: site_Id:网站的ID parent_Id:网站的父级ID site_desc:虽然与问题没有关系,但是有对网站的描述 要求是,如果我有一个site_id作为input,并且我需要在站点下面标记的所有id。 例如: A / \ BC / | \ /\ DEFGH /\ IJ 所有节点都是site_Id。 该表包含这样的数据: Site_id | Parent_ID | site_desc _________|____________|___________ A | -1 | B | A | C | A | D | B | E | […]

将图像存储在数据库或系统文件中?

准确重复: 用户映像:数据库还是文件系统存储? 精确重复: 在数据库中存储图像:是或不是? 完全重复: 我应该将我的图像存储在数据库或文件夹中吗? 完全重复: 你会将二进制数据存储在数据库还是文件夹中? 确切的重复:将 图片存储为文件或Web应用程序的数据库? 完全重复: 存储less量图像:blob或fs? 我必须存储用户的个人资料图像(100px * 100px)什么是最好的方式来存储它? 数据库或系统文件? 哪一个更好,更快,更安全…?

SQL多重联接语句

当我在SQL语句中只有一个内部连接时,它工作的很好。 我试图join第二个表,现在我得到一个错误,说有一个语法错误(缺less运营商)。 这里有什么问题? adsFormView.SelectCommand = "SELECT * FROM [tableCourse] INNER JOIN [tableGrade] ON [tableCourse].[grading] = [tableGrade].[id] INNER JOIN [tableCourseType] ON [tableCourse].[course_type] = [tableCourseType].[id] WHERE [prefix]='" & myPrefix & "' AND [course_number]='" & myCourseNum & "'"

用JDBC做批量INSERTS的有效方法

在我的应用程序中,我需要做很多插入。 它是一个Java应用程序,我使用普通的JDBC执行查询。 DB是Oracle。 我已经启用批处理,所以它节省了我的networking延迟执行查询。 但是查询作为单独的INSERT被串行执行: insert into some_table (col1, col2) values (val1, val2) insert into some_table (col1, col2) values (val3, val4) insert into some_table (col1, col2) values (val5, val6) 我想知道下面的INSERTforms是否更有效率: insert into some_table (col1, col2) values (val1, val2), (val3, val4), (val5, val6) 即折叠多个INSERT到一个。 任何其他技巧,使批量插入更快?

我可以在JOIN条件下使用CASE语句吗?

以下图像是Microsoft SQL Server 2008 R2系统视图的一部分。 从图中我们可以看到sys.partitions和sys.allocation_units之间的关系取决于sys.allocation_units的值。 所以为了将它们结合在一起,我会写下类似这样的东西: SELECT * FROM sys.indexes i JOIN sys.partitions p ON i.index_id = p.index_id JOIN sys.allocation_units a ON CASE WHEN a.type IN (1, 3) THEN a.container_id = p.hobt_id WHEN a.type IN (2) THEN a.container_id = p.partition_id END 但是上面的代码给出了一个语法错误。 我想这是因为CASE声明。 任何人都可以帮忙解释一下吗? 谢谢! 添加错误消息: 消息102,级别15,状态1,行6'='附近语法不正确。