Как знать, где ключевое слово AS должно использоваться?

Я просто беру Objective C сам, таким образом, я не могу говорить за тот язык а именно, но на других языках я использую, если два экземпляра "Равны", они должны возвратить тот же хеш - иначе Вы собираетесь иметь все виды проблем при попытке использовать их в качестве ключей в хеш-таблице (или любые наборы типа словаря).

, С другой стороны, если 2 экземпляра не равны, они могут или не могут иметь того же хеша - лучше, если они не делают. Вот в чем разница между O (1) поиск на хэш-таблице и O (N) поиск - если все Ваши хеши сталкиваются, можно найти, что поиск таблицы не лучше, чем поиск списка.

С точки зрения лучших практик Ваш хеш должен возвратить случайное распределение значений для его входа. Это означает, что, например, если у Вас есть двойное, но большинство Ваших значений имеет тенденцию кластеризироваться между 0 и 100, необходимо удостовериться, что хеши, возвращенные теми значениями, равномерно распределяются через весь диапазон возможных значений хэш-функции. Это значительно улучшит Вашу производительность.

существует много алгоритмов хеширования там, включая несколько перечисленные здесь. Я стараюсь не создавать новые хеш-алгоритмы, поскольку это может иметь большие последствия производительности, таким образом с помощью существующих методов хеша и делая поразрядную какую-то комбинацию, как Вы делаете в своем примере, хороший способ избежать его.

6
задан Lance Roberts 27 October 2009 в 20:59
поделиться

8 ответов

Main uses:

  • Aliases for tables and columns
  • Between CREATE and definition
  • CAST AS newtype

Examples

SELECT
   foo AS tom,
   foo + bar AS dick,
   CAST(bar AS varchar(50)) AS harry
FROM
   fizz AS f


CREATE VIEW/PROC/FUNCTION etc
AS
... proc or view of udf etc definition
GO
7
ответ дан 8 December 2019 в 17:23
поделиться

AS просто сообщает SQL, что вы хотите назвать или ввести элемент перед, например, как имя или статус после.

SUM(A + B) AS MyTotal

CREATE View MyView Column1, Column2 AS SELECT * From TABLE

SELECT MyColumn(s) FROM table_name AS MyAlias

Таким образом, AS просто приводит элемент перед как элемент после , являющееся псевдонимом.

См. http://www.w3schools.com/SQl/sql_alias.asp для лучшего объяснения, чем я мог бы дать.

и многие другие примеры.

С уважением RE

1
ответ дан 8 December 2019 в 17:23
поделиться

Ключевое слово AS в основном означает, что вы хотите присвоить "псевдоним" чему-то другому.

Наиболее распространены названия таблиц и имена полей ...

SELECT
   [p].fn AS FirstName
FROM
   people AS [p]

Строка 2 дает псевдоним поля [fn] на новое имя [FirstName]. Строка 4 присваивает таблице [people] новый псевдоним [p].

В вашем примере представления, а также для хранимых процедур и т. Д. AS предлагает обрабатывать эту AS. Поэтому, когда вы используете это имя, ядро ​​базы данных обрабатывает его КАК код, который вы только что написали ...

SQL когда-то назывался «Структурированный английский язык запросов». Все пытаются сделать программный синтаксис как можно более похожим на английский.

1
ответ дан 8 December 2019 в 17:23
поделиться

The as keyword is used when you create or alter views, procedures, functions and triggers.

Example:

create procedure Test
as
select 1

The keyword is also used with a different meaning to create aliases for tables and fields in a query.

Example:

select u.usnm as UserName, u.pwd as UserPassword
from applicationusertable as u
5
ответ дан 8 December 2019 в 17:23
поделиться

В этом случае это часть оператора, определяющего, что объявлять «как».

В других случаях, когда вы можете использовать оператор AS в Оператор SELECT для поля или таблицы, это опция.

0
ответ дан 8 December 2019 в 17:23
поделиться

Ключевое слово AS в основном используется для создания псевдонимов (представление, таблица, столбец и т. Д.).

Просмотр
Ваш пример работает нормально. Указанное вами имя представления является псевдонимом для следующего запроса.

Таблица

select * from Table1 as t
inner join Table2 as t2
    on t.id = t2.tid

Столбец

--will return a column called sum with a single row of 3
select 1+2 as sum
0
ответ дан 8 December 2019 в 17:23
поделиться

AS используется повсюду:

CAST('1' AS INT)

SELECT CAST('1' AS INT) AS Col1

WITH ThisCTE AS (SELECT CAST('1' AS INT) AS Col1) 
SELECT Col1 FROM ThisCTE AS a

CREATE VIEW ThisView AS 
  WITH ThisCTE AS (SELECT CAST('1' AS INT) AS Col1) 
  SELECT Col1 FROM ThisCTE AS a

и т. Д. До тошноты.

Прикусите пулю, откройте BOL и начните читать!

0
ответ дан 8 December 2019 в 17:23
поделиться

Когда вы используете оператор CREATE TABLE или VIEW, ключевое слово AS извлекает записи из следующего оператора, чтобы первоначально заполнить таблицу или представление.

Итак, ваш пример представления будет запущен как точную копию таблицы People.

Это позволяет вам выбирать поля, которые вы хотите загрузить в вашу таблицу или представление.

0
ответ дан 8 December 2019 в 17:23
поделиться