- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题是
Which of the following methods for providing explicit names for the columns in a view work?a. Include a column listb. Provide column aliases in the view SELECT statementc. Rename the columns when you select from the view
回答
a. Works: Include a column listb. Works: Provide column aliases in the view SELECT statementc. Does not work: Rename the columns when you select from the view
关于 (c) “从 View 中选择时重命名列”是什么意思?
最佳答案
我认为认证指南中的问题措辞不当。当您从 View 中进行选择时,您可以为列指定显式名称,这很有效:
CREATE VIEW MyView AS SELECT a, b, c FROM MyTable;
SELECT a AS d, b AS e, c AS f FROM MyView;
问题不在于显式地为列指定别名。这就是问题所在:如果您依赖于此而不是定义具有不同列名的 View ,并且该 View 由一个连接组成,使得列名不明确,那么您就会遇到麻烦:
CREATE VIEW MyView AS
SELECT m.a, m.b, m.c, o.a, o.b, o.c
FROM MyTable m JOIN OtherTable o;
这不是一个有效的 View ,因为在 View 定义中,所有的列名必须是不同的。例如,查询 View 时会得到不明确的结果:
SELECT a FROM MyView;
这是选择第一个 a
列还是第二个 a
列?
因此您必须在 View 定义中有一组不同的列名,这不足以在您查询 View 时使它们不同。
这就是我认为认证指南问题措辞不当的原因。这与显式重命名列无关,而是确保 View 的列具有不同的名称。这是重命名列的常见原因,所以这可能就是写问题的人那样写的原因。
问题中提到的任何其他技术都可以解决歧义:
CREATE VIEW MyView (a, b, c, d, e, f) AS
SELECT m.a, m.b, m.c, o.a, o.b, o.c
FROM MyTable m JOIN OtherTable o;
或
CREATE VIEW MyView AS
SELECT m.a, m.b, m.c, o.a AS d, o.b AS e, o.c AS f
FROM MyTable m JOIN OtherTable o;
无论哪种方式,您都会得到别名列:
SELECT * FROM MyView; -- returns result with columns a, b, c, d, e, f
关于MySQL 认证指南练习 Qn - View 的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1416853/
为什么这段代码不起作用?当我使用注释部分而不是表格时,它起作用了......使用table为什么不能工作? function addLine() {
我正在使用下面的代码使用批处理文件在 Windows 上静默安装 mysql.. 似乎忽略了/qn 我也尝试过/quiet,但这也不起作用。 它只是读取行并将光标移动到下一行。 echo off cl
如果我有两个表 tableinfo 和 tablenamelist 以及一个外键,如下所示: Alter tableinfo add foreign key (name) references tab
完美数是指其真约数之和恰好等于该数的数。例如,28 的真约数之和为 1 + 2 + 4 + 7 + 14 = 28,这意味着 28 是一个完美数。 如果一个数 n 的真约数之和小于 n,则称它为亏数;
我正在尝试转换为应用程序提供的静默安装程序命令 这在̣bat文件中运行得很好,但是我需要在powershell中运行它来执行自动部署任务之一 "BubblePop.exe" /s /V"/qn /li
问题是 Which of the following methods for providing explicit names for the columns in a view work?a. In
我这里有一段从 GitHub 获得的代码。它是一个 Jquery 滚动分页插件。 https://github.com/andferminiano/jquery-scroll-pagination/t
当我运行 MSI(不带参数)时,我通常必须通过对话框单击并选择是否要安装到当前用户/所有用户、目标目录等。 当我使用/qn(静默模式)运行 MSI 时会发生什么。如何找到为所有这些对话框自动选择的答案
我想创建一个允许用户使用不同颜色绘图的绘图应用程序。除了改变颜色,我什么都能想出来。 我有一个初始的红色油漆来绘制几条线,当我将颜色更改为绿色时,之前绘制的所有线条都被更改了。我希望之前绘制的线条保留
上面突出显示了两个部分。 1st - Mini-Profiler 告诉我 Controller / Action 的执行时间(通过 ajax 调用) 87 毫秒 第二个 - Chrome Web In
我有等式: 2^y = 2^q0 + ... 2^qn n 是任意整数(有任意数量的'q')。 'q' 的值可以大到 500,而 2^q 不能存储在整数或长变量类型中。由于存储容量问题,我想计算“y”
我是一名优秀的程序员,十分优秀!