如果我去mysql shell输入SELECT * FROM users我得到 -
+--------+----------------+---------------------------------+----------+-----------+--------------------+--------------------+
| USERID | NAME | EMAILID | PASSWORD | USER_TYPE | CONTACT_ID_FKUSERS | COMPANY_ID_FKUSERS |
+--------+----------------+---------------------------------+----------+-----------+--------------------+--------------------+
| 137 | X | b@cc.com | # | ADMIN | 166 | 110 |
| 138 | Kshitiz | ksharma@aaa.com | asdf | ADMIN | 167 | 111 |
+--------+----------------+---------------------------------+----------+-----------+--------------------+--------------------+
Run Code Online (Sandbox Code Playgroud)
Oracle sqlplus 显示——
USERID NAME EMAILID PASSWORD USER_TYPE CONTACT_ID_FKUSERS COMPANY_ID_FKUSERS
---------- ----- ---------- ---------- ---------- ------------------ ------------------
137 X b@cc.com # ADMIN …Run Code Online (Sandbox Code Playgroud) 我有一张有 100 列的表格。在SQL Plus输出换行中选择数据时,使其难以阅读。
我更喜欢的是出现一个水平滚动条,或者以某种方式将输出发送到 less
我在 SQLPlus 中运行以下语句 -
SET LINESIZE 32000;
SET PAGESIZE 40000;
SET LONG 50000;
SPOOL output.txt
SELECT * FROM big_table;
Run Code Online (Sandbox Code Playgroud)
然后在bash我跑 -
少输出.txt
输出仍然显示为已包装且不可读。
是否有等效于 MySQL 的SHOW DATABASES语句?
是否可以在集群中找到数据库?即存在于其他系统上的网络上的数据库?
我可以分析 Oracle 安装中存在的文件以找到相同的文件吗?
给定对 Oracle 系统的完整访问凭证,您将如何枚举存在的所有数据库?
内联视图允许您从子查询中进行选择,就好像它是不同的表一样:
SELECT
*
FROM /* Selecting from a query instead of table */
(
SELECT
c1
FROM
t1
WHERE
c1 > 0
) a
WHERE
a.c1 < 50;
Run Code Online (Sandbox Code Playgroud)
我已经看到这使用不同的术语来引用:内联视图、WITH 子句、CTE 和派生表。对我来说,它们似乎是同一件事的不同供应商特定语法。
这是一个错误的假设吗?这些之间是否有任何技术/性能差异?
这听起来像是一个过于简单的问题,但我发现找到正确的答案并不容易。
关于“什么是 sql 子句?”的问题 互联网上的大多数资源只是提供了一个条款列表并解释了它们的作用。
但我试图抽象地理解它是如何定义的。就像一个通用符号,它捕获了可以编写的所有类型的查询以及子句在其中的适应方式。
是否存在所有子句共有的属性?为什么 UNION 被称为运算符而 HAVING 是一个子句?
我正在寻找一个数据库 -
我想建立一个系统,将磁盘的全部内容复制到内存中。因此,对内存存储和磁盘都进行了写入,但仅对内存进行了读取。
我见过的大多数数据库(如 H2 或 HSQLDB)都提供内存网格或基于磁盘的表。我正在寻找一个基于磁盘的后备存储的内存网格。
是否有这样的数据库系统可用,或者是否可以将 MySQL(或其他一些)数据库配置为以这种方式工作?
我有一个带有日期列的表格。我使用 JDBC 将 java.util.Date 对象保存到表中。
当我运行以下查询时,我得到日期以及时间值:
select To_CHAR(departure_date,'DD-MM-YYYY HH:MI') from service
Run Code Online (Sandbox Code Playgroud)
这告诉我日期是列也在存储时间。
这是出乎意料的。日期类型不应该像整数类型丢弃小数一样丢弃时间值吗?
NATURAL JOIN 是一种 JOIN 操作,它根据要连接的两个表中的公共列为您创建隐式连接子句。NATURAL JOIN 可以是 INNER 连接、LEFT OUTER 连接或 RIGHT OUTER 连接。默认为内部联接。来源
因此,如果两个表都有一个公共列,自然连接可以是实现内部连接的一种简写方式。
考虑下表:
SELECT * FROM t1;
/*
ID PLANET
---------- --------
1 jupiter
2 earth
*/
Run Code Online (Sandbox Code Playgroud)
我们将表加入到自身中:
SELECT first.id, first.planet FROM t1 first INNER JOIN t1 second ON first.id=second.id;
/*
ID PLANET
---------- --------
1 jupiter
2 earth
*/
Run Code Online (Sandbox Code Playgroud)
尝试使用自然连接符号做同样的事情:
SELECT id, planet FROM t1 NATURAL JOIN t1;
/*
ID PLANET
---------- --------
1 jupiter
1 jupiter
2 earth
2 earth
*/
Run Code Online (Sandbox Code Playgroud)
鉴于这里的自然连接是使用内部连接实现的,为什么会有多行?
更新:
使用表别名运行相同的连接有不同的输出: …