БОЛЬШОЙ SQL для начинающих

Стоит ли мне поучаствовать в студенческом подсчете '이홍근?

[Поиск количества курсов, зарегистрированных «이홍근]

Это мой собственный

SELECT COUNT (*) AS Number of courses
FROM STUDENT AS S, ENROL AS E
WHERE S.SNO = E. SNO
 AND S.NAME = '이홍근';

Это правильно?

Я только что спросил SQL, и мне просто нужен ответ.

БОЛЬШОЙ SQL для начинающих

Первое, что вам нужно сделать, это прочитать о том, как задать хороший вопрос на этом сайте, т. е. пройти экскурсию, а затем прочитать этот минимальный воспроизводимый пример.

Dale K 09.04.2024 01:11

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

Dale K 09.04.2024 01:11

Затем вам необходимо принять к сведению рекомендации, которые вам были даны при написании вопроса. Не использовать изображения для данных, кода или ошибок. Пожалуйста, проверьте справку и отформатируйте данные в виде таблицы уценки.

Dale K 09.04.2024 01:12

Затем вам нужно, чтобы ваш заголовок отражал проблему, которую вы пытаетесь решить, т. е. в нем должно быть что-то сказано о желании подсчитать количество X от Y. Не то чтобы вы новичок... это не имеет значения для решения проблемы.

Dale K 09.04.2024 01:13

Если вы используете Microsoft SQL Server, вам необходимо изучить разницу между символьными литералами и литералами национальных символов (с префиксом N). Сравните вывод SELECT '이홍근', N'이홍근'; в англо-американской системе, чтобы понять, почему это важно.

AlwaysLearning 09.04.2024 01:24
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
4
5
63
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Три вопроса:

  1. Number of Courses не является допустимым именем столбца. Вам нужно заключить его или убрать пробелы.

  2. Синтаксис соединения A,B устарел уже 30 лет назад и больше не должен использоваться. Вместо

     FROM STUDENT AS S, ENROL AS E
     WHERE S.SNO = E. SNO AND 
         AND ...
    

    тебе следует написать

    FROM STUDENT AS S 
    INNER JOIN ENROL AS E ON S.SNO = E.SNO
    WHERE ...
    
  3. Для SQL Server необходима специальная обработка строковых значений с символами, отличными от ASCII, поэтому '이홍근' должно быть N'이홍근'. MySQL не делает этого... но это поднимает вопрос о том, что вам действительно следует знать, какой продукт вы используете. Хотя SQL стандартизирован, НИ ОДИН из продуктов не соответствует этому стандарту в полной мере, поэтому важно четко понимать, какой продукт вы используете.

Другие вопросы по теме

Похожие вопросы

Сортировка с использованием пути иерархического соединения Oracle SQL без увеличения количества строк
Проблема с динамическим предложением IN
Можем ли мы создать материализованное представление из стандартного представления в bigquery?
Проблема с группировкой и ранжированием: на основе показанной таблицы скрипт или хранимая процедура должны возвращать рейтинг на основе предоставленных правил
Отфильтровать последнее сообщение пользователя независимо от того, находится ли оно у отправителя или получателя, по идентификатору элемента
ВЫБРАТЬ из двух таблиц, СОЕДИНИТЬСЯ без связи, повторяя значение в одном или другом столбце
Множественный выбор, но мне также нужно добавить еще одно соединение
Как запросить таблицу, имя которой построено на основе результата функции PL/pgSQL?
Как я могу выполнить несколько операторов обновления для списка идентификаторов в PostgresSQL одновременно?
Запрос SQL Server выполняется очень медленно