sql ×43
Создан 04.01.2025
52
голоса
5
ответов
12
просмотров
В чем разница между "INNER JOIN" и "OUTER JOIN"?

Какова роль операторов LEFT OUTER JOIN, RIGHT OUTER JOIN и FULL OUTER JOIN в запросах SQL и как они соотносятся друг с другом?

43
голоса
4
ответов
24
просмотров
Как выполнить UPDATE с использованием SELECT в SQL Server?

В SQL Server можно вставлять строки в таблицу с помощью оператора INSERT.. SELECT. Пример:

INSERT INTO Table (col1, col2, col3) SELECT col1, col2, col3 FROM other_table WHERE sql = 'cool'

Но есть ли возможность обновить таблицу с помощью SELECT? У меня есть временная таблица, содержащая...

27
голоса
4
ответов
17
просмотров
Как предотвратить SQL-инъекции в PHP?

Описание проблемы

Я столкнулся с проблемой SQL-инъекций в своем приложении. Когда пользовательский ввод вставляется в SQL-запрос без предварительной обработки, это делает систему уязвимой к атакам. Я привожу ниже пример кода, где данная уязвимость имеется:

$unsafe_variable =...
25
голоса
0
ответов
19
просмотров
Нахождение дубликатов в таблице SQL

Проблема: Как найти дубликаты по двум полям в SQL-запросе?

Я столкнулся с задачей поиска дубликатов в таблице пользователей по двум полям: email и name.

Проще всего находить дубликаты по одному полю, как показано в следующем запросе:

SELECT email, COUNT(email) 
FROM users
GROUP...
24
голоса
5
ответов
10
просмотров
Как конкатенировать текст из нескольких строк в одну строку в SQL Server

Проблема: У меня есть таблица в базе данных, в которой хранится список имен, состоящая из трех строк:

Peter
Paul
Mary

Мне нужно преобразовать эти имена в одну строку в формате Peter, Paul, Mary. Есть ли простой способ сделать это?

22
голоса
4
ответов
12
просмотров
Как вернуть только дату из типа данных DateTime в SQL Server

У меня есть запрос к базе данных:

SELECT GETDATE()

Этот запрос возвращает: 2008-09-22 15:24:13.790.

Я хочу получить только дату без времени: 2008-09-22 00:00:00.000.

Как я могу этого добиться?

22
голоса
1
ответов
19
просмотров
В чем разница между INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN?

Описание проблемы

На StackOverflow существует вопрос с ответами на тему различий между различными типами соединений в SQL. Известно, что существует несколько видов соединений, таких как INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN, однако, я не совсем понимаю, каковы основные отличия...

20
голоса
3
ответов
14
просмотров
Вставка нескольких строк в одном SQL-запросе?

Я сталкиваюсь с проблемой, когда мне нужно вставить несколько строк данных в таблицу с помощью SQL. У меня есть несколько наборов данных для вставки сразу, скажем, 4 строки. Моя таблица имеет три колонки: Person, Id и Office.

Вот каким образом я вставляю данные в таблицу:

INSERT...
20
голоса
5
ответов
14
просмотров
Выбрать первую строку в каждой группе GROUP BY?

Проблема: Как выбрать первую строку из каждой группы, использующей GROUP BY?

Я хочу получить первую строку из каждого набора строк, сгруппированных с помощью оператора GROUP BY.

У меня есть таблица purchases, которая выглядит следующим образом:

SELECT * FROM...
18
голоса
5
ответов
15
просмотров
"Вставка результатов хранимой процедуры в временную таблицу"

Вопрос: Как выполнить SELECT * INTO [временная таблица] FROM [хранимая процедура]? Не FROM [таблица] и без определения [временной таблицы]?

Я использую следующий запрос, чтобы выбрать все данные из таблицы BusinessLine во временную таблицу tmpBusLine, и это работает...

18
голоса
5
ответов
11
просмотров
Как выполнить IF...THEN в SQL SELECT?

Как выполнить оператор IF...THEN в операторе SQL SELECT?

Например:

SELECT IF(Obsolete = 'N' OR InStock = 'Y', 1, 0) AS Saleable, * FROM Product

Вопрос заключается в том, как правильно использовать условные операторы в запросах SQL для получения нужного результата.

18
голоса
5
ответов
18
просмотров
Дилемма именования таблиц: Единственное или Множественное число? [закрыто]

Проблема с наименованием таблиц в T-SQL

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

17
голоса
5
ответов
10
просмотров
Найти все таблицы, содержащие столбец с указанным именем

Проблема: Поиск имен таблиц с определенными столбцами в SQL

Я пытаюсь выполнить запрос, который позволит мне получить имена таблиц, содержащих столбцы, соответствующие условию LIKE '%myName%'. Я использую SQL и хочу узнать, как можно осуществить такой поиск.

В частности, интересует,...

17
голоса
5
ответов
11
просмотров
Как удалить с использованием INNER JOIN в SQL Server?

Я хочу удалить данные с использованием INNER JOIN в SQL Server 2008.

Но я получаю следующую ошибку:

Msg 156, Level 15, State 1, Line 15 Некорректный синтаксис около ключевого слова 'INNER'.

Мой код:

DELETE FROM WorkRecord2 INNER JOIN Employee ON EmployeeRun=EmployeeNo WHERE...

16
голоса
5
ответов
12
просмотров
Как сбросить AUTO_INCREMENT в MySQL

Заголовок: Как сбросить значение AUTO_INCREMENT для поля?

Содержимое: Я хочу сбросить значение AUTO_INCREMENT для определенного поля в базе данных, чтобы оно снова начинало счёт с 1. Как это можно сделать?

16
голоса
5
ответов
17
просмотров
Как выполнить оператор UPDATE с JOIN в SQL Server?

Я пытаюсь обновить таблицу в SQL Server с данными из ее 'родительской' таблицы, см. ниже:

Таблица: sale

id (int) udid (int) assid (int)

Таблица: ud

id (int) assid (int)

sale.assid содержит правильное значение для обновления ud.assid.

Какой запрос выполнит это обновление? Я предполагаю, что...

16
голоса
5
ответов
15
просмотров
SQL: выбрать только строки с максимальным значением в столбце

Описание проблемы для StackOverflow:

У меня есть таблица для документов (здесь представлена упрощенная версия):

CREATE TABLE documents (
    id INT,
    rev INT,
    content TEXT
);

Таблица содержит следующие данные:

id rev content
1 1 ... ...
15
голоса
3
ответов
17
просмотров
Использование GROUP BY по нескольким столбцам

Я понимаю принцип работы оператора GROUP BY x. Но как работает GROUP BY x, y и что это означает?

14
голоса
5
ответов
11
просмотров
Как экранировать одинарную кавычку в SQL Server?

Я пытаюсь вставить текстовые данные в таблицу в SQL Server 9. В тексте есть одинарная кавычка ('). Как правильно экранировать этот символ?

Я пробовал использовать две одинарные кавычки, но у меня возникли ошибки. Пример:

insert into my_table values('hi, my name''s tim.');

Кто-нибудь...

14
голоса
3
ответов
13
просмотров
В чем разница между JOIN и INNER JOIN?

У меня есть вопрос по поводу двух SQL-запросов, которые дают одинаковые результаты:

SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK

в сравнении с

SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK

Есть ли какая-то разница между этими...