Questions tagged «sql»

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

8
MySQL“ WITH”子句
我正在尝试使用MySQL创建带有“ WITH”子句的视图 WITH authorRating(aname, rating) AS SELECT aname, AVG(quantity) FROM book GROUP BY aname 但是MySQL似乎并不支持这一点。 我认为这是非常标准的,并且我确定Oracle支持此标准。无论如何,有没有强制MySQL使用“ WITH”子句?我已经尝试过使用MyISAM和innoDB引擎。这两个都不起作用。


4
如何对string_agg()的结果进行排序
我有一张桌子: CREATE TABLE tblproducts ( productid integer, product character varying(20) ) 与行: INSERT INTO tblproducts(productid, product) VALUES (1, 'CANDID POWDER 50 GM'); INSERT INTO tblproducts(productid, product) VALUES (2, 'SINAREST P SYP 100 ML'); INSERT INTO tblproducts(productid, product) VALUES (3, 'ESOZ D 20 MG CAP'); INSERT INTO tblproducts(productid, product) VALUES (4, …



7
什么是柱状数据库?
我从事仓储工作已有一段时间了。 列型数据库及其为数据检索提供的速度令我着迷。 我有多部分的问题: 列式数据库如何工作? 它们与关系数据库有何不同?
97 sql  database 

3
替换从左外部联接返回的默认空值
我有一个Microsoft SQL Server 2008查询,该查询使用左外部联接从三个表返回数据。很多时候,第二个和第三个表中没有数据,因此我得到一个空值,我认为这是左外部联接的默认值。有没有办法替换select语句中的默认值?我有一个解决方法,可以选择一个表变量,但感觉有点脏。 SELECT iar.Description, iai.Quantity, iai.Quantity * rpl.RegularPrice as 'Retail', iar.Compliance FROM InventoryAdjustmentReason iar LEFT OUTER JOIN InventoryAdjustmentItem iai on (iar.Id = iai.InventoryAdjustmentReasonId) LEFT OUTER JOIN Item i on (i.Id = iai.ItemId) LEFT OUTER JOIN ReportPriceLookup rpl on (rpl.SkuNumber = i.SkuNo) WHERE iar.StoreUse = 'yes' 如果可能的话,我希望数量和常规价格默认为零。

24
数据库表中ID列的命名
我想知道人们对数据库表中ID列的命名有何看法。 如果我有一个名为Invoices的表,且其标识列的主键为该表,则应将该列称为InvoiceID,这样我就不会与其他表发生冲突,这很明显。 在我目前工作的地方,他们已经将所有ID列称为ID。 因此,他们将执行以下操作: Select i.ID , il.ID From Invoices i Left Join InvoiceLines il on i.ID = il.InvoiceID 现在,我在这里看到一些问题: 1.您将需要对select的列进行别名 2. ID = InvoiceID不适合我的大脑 3.如果您未对表进行别名并引用InvoiceID,那么显然是哪个表它开着? 其他人对此话题有何看法?

4
如何将.sql文件导入SQLite 3?
我有.sql文件,其内容如下: #cat db.sql create table server(name varchar(50),ipaddress varchar(15),id init) create table client(name varchar(50),ipaddress varchar(15),id init) 如何将此文件导入SQLite,以便自动创建这些文件?
97 sql  sqlite 

8
如何在选择语句中使用索引?
可以说在employee表中,我emp_name在表的列上创建了一个索引(idx_name)。 我是否需要在select子句中明确指定索引名称,否则它将自动用于加速查询。 如果需要在select子句中指定,在select查询中使用index的语法是什么?
97 sql  database  indexing 

1
UNIQUE约束是否自动在字段上创建索引?
我应该在列上定义一个单独的索引email(出于搜索目的),还是该索引是“自动”与UNIQ_EMAIL_USER约束一起添加的? CREATE TABLE IF NOT EXISTS `customer` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `first` varchar(255) NOT NULL, `last` varchar(255) NOT NULL, `slug` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `UNIQ_SLUG` (`slug`), UNIQUE KEY …
97 mysql  sql  indexing 

6
使用Oracle分页
我不像我想的那样熟悉Oracle。我有大约25万条记录,我希望每页显示100条。当前,我有一个存储过程,该过程使用数据适配器和数据集以及对存储过程结果的dataadapter.Fill(dataset)方法将一百万个记录的全部四分之一检索到数据集中。如果我可以将“页码”和“每页记录数”作为整数值,可以将其作为参数传递,那么最好的方法就是只获取该特定部分。假设,如果我将10作为页数传递,将120作为页数传递,则从select语句中获得的数值将是第1880至1200,或者类似的数字,我的脑海中可能已经关闭。 我正在使用C#在.NET中进行此操作,认为这并不重要,如果我可以在sql端正确使用它,那么我应该很酷。 更新:我能够使用Brian的建议,而且效果很好。我想进行一些优化,但是页面将​​在4到5秒而不是一分钟的时间内显示出来,并且我的分页控件能够很好地集成到我的新存储过程中。

7
MySql:授予只读选项?
我有一个用户,我想授予该用户对数据库模式的所有READ权限。 一种方法是: GRANT SELECT, SHOW_VIEW ON test.* TO 'readuser'@'%'; 有没有一种方法可以将所有读取操作归为Grant?
97 mysql  sql 

9
搜索表名
我使用以下内容在存储过程中搜索字符串: use DBname SELECT Name FROM sys.procedures WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%xxx%' 修改上述内容是否容易,以便在特定的数据库“ DBname”中搜索表名称?

9
哪个SQL查询更快?根据加入条件或Where子句过滤?
比较这两个查询。将筛选器放在连接条件或WHERE子句中是否更快。我一直觉得连接条件比较快,因为它会在最快的时候减少结果集,但是我不确定。 我将构建一些测试以供查看,但我也想就哪些内容也更易于阅读获得意见。 查询1 SELECT * FROM TableA a INNER JOIN TableXRef x ON a.ID = x.TableAID INNER JOIN TableB b ON x.TableBID = b.ID WHERE a.ID = 1 /* <-- Filter here? */ 查询2 SELECT * FROM TableA a INNER JOIN TableXRef x ON a.ID = x.TableAID AND a.ID = …

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.