Также как подходят LEFT JOIN
, RIGHT JOIN
и FULL JOIN
?
В SQL Server возможно использовать insert
в таблице, используя оператор SELECT
:
INSERT INTO Table (col1, col2, col3)
SELECT col1, col2, col3
FROM other_table
WHERE sql = 'cool'
Возможно ли также обновление через SELECT
? У меня есть временная таблица,
Если пользовательский ввод вставлен без изменений в SQL-запрос, тогда приложение становится уязвимым для SQL-инъекции , как в следующем примере:
$unsafe_variable = $_POST['user_input'];
mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')");
Это потому, что пользователь может вводить что-то вроде value'); DROP TABLE table;--
Как можно добавить столбец со значением по умолчанию в существующую таблицу в SQL Server 2000 /SQL Server 2005 ?
Учитывая, что индексирование так важно, поскольку размер вашего набора данных увеличивается, кто-то может объяснить, как индексирование работает на уровне, независимом от базы данных?
Информацию о запросах для индексирования поля см. В разделе Как индексировать столбец базы данных .
Рассмотрим таблицу базы данных, содержащую имена, с тремя строками:
Peter
Paul
Mary
Есть ли простой способ превратить это в одну строку из Peter, Paul, Mary
?
SELECT GETDATE()
Возврат: 2008-09-22 15:24:13.790
Я хочу эту часть даты без временной части: 2008-09-22 00:00:00.000
Как я могу это получить?
У меня есть несколько наборов данных для вставки сразу, скажем, 4 строки.
Моя таблица имеет три столбца: Person
, Id
и Office
.
INSERT INTO MyTable VALUES ("John", 123, "Lloyds Office");
INSERT INTO MyTable VALUES ("Jane", 124, "Lloyds Office");
INSERT
... Как мне сделать SELECT * INTO [temp table] FROM [stored procedure]
? Не FROM [Table]
и без определения [temp table]
?
Select
все данные от BusinessLine
до tmpBusLine
прекрасно работают.
select *
into tmpBusLine
from BusinessLine
Я пытаюсь сделать то
... Легко найти duplicates
с одним полем:
SELECT name, COUNT(email)
FROM users
GROUP BY email
HAVING COUNT(email) > 1
Поэтому, если у нас есть таблица
ID NAME EMAIL
1 John asd@asd.com
2 Sam asd@asd.com
3 Tom asd@asd.com
4 Bob bob@asd.com
5
... Как выполнить команду IF...THEN
в SQL SELECT
?
Например:
SELECT IF(Obsolete = 'N' OR InStock = 'Y' ? 1 : 0) AS Saleable, * FROM Product
В чем разница между UNION
и UNION ALL
?
Я пытаюсь сделать INSERT INTO
таблицы, используя ввод из другой таблицы. Хотя это вполне возможно для многих механизмов баз данных, я всегда стараюсь запомнить правильный синтаксис для SQL
движка дня ( MySQL , Oracle , SQL Server , Informix и
Хорошие обзоры
Вообще говоря, вы принимаете решение между быстрым временем чтения (например, вложенным множеством) или быстрым временем записи (списком смежности). Обычно вы получаете комбинацию из приведенных ниже вариантов, которые лучше всего соответствуют вашим потребностям. Следующее обеспечивает некоторое углубленное чтение:
...Какой SQL можно использовать для вывода списка таблиц и строк в этих таблицах в файле базы данных SQLite - после того, как я прикрепил его с помощью команды ATTACH
в средстве командной строки SQLite 3?
Используя MySQL
, я могу сделать что-то вроде:
SELECT hobbies FROM peoples_hobbies WHERE person_id = 5;
Мой вывод:
shopping
fishing
coding
но вместо этого я просто хочу 1 строку, 1 столбец:
Ожидаемый результат:
shopping, fishing, coding
Причина в том, что
...Как я могу запросить базу данных Oracle для отображения имен всех таблиц в ней?
Как лучше всего получить IDENTITY
вставленного ряда?
Я знаю о @@IDENTITY
и IDENT_CURRENT
и SCOPE_IDENTITY
, но не понимаю плюсы и минусы, связанные с каждым.
Может кто-нибудь объяснить, пожалуйста, различия и когда я должен использовать каждый?
Можно ли запрашивать имена таблиц, которые содержат столбцы, являющиеся
LIKE '%myName%'
?
Есть ли способ заставить запрос Oracle
вести себя так, как будто он содержит предложение MySQL limit
?
В MySQL
я могу сделать это:
select *
from sometable
order by name
limit 20,10
, чтобы получить 21-й по 30-й ряды (пропустите
...