Sql примеры запросов: основные операторы, виды, синтаксис, написание, создание базы данных, примеры простых и сложных команд

Содержание

Пример выполнения SQL запросов

Online Справка создание SQL запросов

Пример 1 Отчет по участкам: количество и протяженность трубопроводов с разбивкой по диаметрам

В конструкции этого запроса используется оператор GROUP BY, который позволяет разделить записи базы данных по участку на группы. Группировка записей выполняться по значению внутреннего диаметра трубопровода.
Выборка данных производится с помощью ключевого слова SELECT, после которого задаются параметры выборки. Осуществляется выбор следующих параметров:

  • Внутренний диаметр трубы, м;
  • Количество участков данного диаметра, для определения количества участковиспользуются функция COUNT;
  • Протяженность трубопроводов заданного диаметра, функция SUM определяет суммарную длину участков.

Ключевое слова AS используется для указания названий столбцов.
После ключевого слова FROM указывает слой, в котором будет производиться выбор.
Выражение WHERE используется для указания критериев выборки, в данном случае выбор осуществляется только по участкам. Участки водопроводной сети в структуре слоя имеют тип-8, условие type=8, в версии сборки 7.0.0.5425 и выше задается typeid=8.

SELECT [Внутренний диаметр трубы, м] AS «Диаметр»,
COUNT(*) AS «Количество участков»,
SUM([Длина участка, м]) AS «Протяженность»
FROM [Пример водопроводной сети]
WHERE typeid=8
GROUP BY [Внутренний диаметр трубы, м]

Смотреть видеоурок


Пример 2 Заполнение адресов по потребителям значениями из базы по домам

В запросе осуществляется работа с пространственными данными.
В конструкции этого запроса используется оператор сравнения пространственных объектов между собой STWithin. Он проверяет объект для которого вызвана функция на вхождение в указанный пространственный объект сравнения.
Для внесения изменения в заданные столбцы таблицы(базы данных слоя) используется оператор UPDATE, он употребляется в связке с ключевым словом SET после которого следует наименование обновляемых полей таблицы.
После выражения WHERE, задаются критерии, по которым будут происходить обновления. В данном случае происходит обновление поля Адрес базы данных по потребителям (потребители водопроводной сети в структуре слоя имеют тип-5), при условии что, символ потребителя находится внутри площадного объекта здания. Условие выбора потребителей type=8, в версии сборки 7.0.0.5425 и выше задается typeid=8.

UPDATE [Пример водопроводной сети] SET [Пример водопроводной сети].[Адрес] =
[Здания].[Улица]+» «+[Здания].[Номер дома]
WHERE [Пример водопроводной сети].typeid=5 AND [Пример водопроводной сети].Geometry.STWithin([Здания].Geometry)

Конструкцию запроса можно изменить, применив псевдонимы для названий слоев. Для создания псевдонима для слоя, Используется оператор FROM, после названия слоя следует указать псевдоним для этого слоя (перед псевдонимом можно также добавить ключевое слово AS).

UPDATE L1 SET L1. [Адрес] = L2.[Улица]+» «+L2.[Номер дома]
FROM [Пример водопроводной сети] AS L1, [Здания] AS L2
WHERE L1.typeid=5 AND L1.Geometry.STWithin(L2.Geometry)

Смотреть видеоурок

Новые вопросы с меткой [sql]



Задать вопрос


Структурированный язык запросов SQL(Structed Query Language) — формальный язык программирования для манипуляции данными в реляционных базах данных. Чтобы задать хороший вопрос, используйте инструкцию в полном описании метки. Вопрос должен содержать структуру таблиц, тестовые данные и примеры запросов, иллюстрирующих проблему. Указывайте используемую СУБД. Желательно использовать ANSI SQL запросы.


  • Подробнее…

  • Лучшие участники

  • Синонимы


13,317
вопросов

Новые


Текущие


Конкурсные


Неотвеченные



Фильтрация
Без ответов


Без принятого ответа


Объявлен конкурс


Сортировка

Обновлённые


Наивысший рейтинг


Наиболее частые


Конкурс скоро заканчивается


Метки
Отслеживаемые метки



Указанные ниже метки:




0
голосов


0
ответов


18
показов


Присвоение id группы для при совпадении хотя бы одного из значений


Нужна помощь, есть набор строк с n идентификаторами, в у некоторых строк они совпадают, нужно для строк в которых хотя бы один из идентификаторов совпадает присвоить общий id ( id группы),. Каждая …

  • sql
  • postgresql



0
голосов


0
ответов


26
показов


не получается добавить данные [закрыт]


Пишу приложение, нужно сделать кнопку добавления, когда вписываю все новые данные, пишет, что 3 столбец не найден
private void AddBtn_Click(object sender, EventArgs e)
{
Form3 main = this….

  • c#
  • sql
  • visual-studio



0
голосов


0
ответов


16
показов


SQLCODE: -413\n- conversion error from string?


Делаю запрос к базе с явным приведением к типу, но получаю ошибку. Типы полей VARCHAR и DATE
sqlquery = «»»SELECT CAST(BOOK1.R001F AS CHAR(30)), CAST(CAR_A103.R1024 AS CHAR(10)) \

  • python
  • sql
  • firebird



-1
голос


0
ответов


18
показов


SQL-запрос в VS-code выдает ошибку Cannot read properties of undefined (reading ‘undefined’)


Всем привет!
я пытаюсь делать простейшие SQL-запросы прямо в VS-code , но при выполнении запроса с любой из баз данных я получаю одну и ту же ошибку
Cannot read properties of undefined (reading ‘…

  • mysql
  • sql
  • visual-studio-code



0
голосов


0
ответов


23
показа


Помощь с подключением ODBC+Oracle+Powershell


Не могу найти актуальных данных по теме, тем более русскоязычных, может быть сможете помочь примером/советом, может теорией или поделитесь опытом.
Имеется БД Oracle, а на Powershell скрипт, который …

  • sql
  • oracle
  • powershell
  • odbc



0
голосов


1
ответ


36
показов


Как переделать запросы чтобы они у меня обновляли или добавляли только 1 строку, а не всю таблицу?


//Если есть ещё ошибки помогите их исправить, заранее спасибо
private void button2_Click(object sender, EventArgs e)
{
//Добавить
if (dataGridView1.SelectedRows.Count != 1)

  • c#
  • sql
  • access



1
голос


0
ответов


31
показ


raise exception_from_status(DatabaseError, fdb.

fbcore.DatabaseError: (‘ SQLCODE: -104\n- Dynamic SQL Error\n- SQL error code = -104\n- Token unknown


Делаю запрос базе для получении данных из 2 таблиц
connect = fdb.connect(dsn=’C:\c.gdb’, user=’sysdba’, password=’master’)
cur = connect.cursor()
cur.execute(«SELECT BOOK1.R001F, CAR_A103.R1024&…

  • python
  • sql
  • firebird



0
голосов


0
ответов


18
показов


Как изменить исходные данные из БД PostreSQL для создания портфолио?


У меня есть ряд кейсов на основе конфиденциальной информации (источник данных — БД на PostgrSQL).
Мне нужно сделать портфолио на основе выполненной работы.
Я думаю, что проще будет сделать копию базы …

  • sql
  • postgresql



0
голосов


0
ответов


22
показа


Пример решения запроса с Left join, правильно или нет?


Задача: Необходимо сделать статистику по категориям фильмов в итоговой таблице по 2 полям — категория и число фильмов категории. Число фильмов из категории отбираем по условию актер и актрис, которые …

  • sql
  • join



0
голосов


0
ответов


50
показов


Как с помощью цикла for убрать «обертку» результата SQL запроса?


Есть код, в нем идет проверка, есть ли user_id в базе данных SQLite3, при запросе результат приходит в формате [(1061467560,), (6158117041,)]. Как из этого сделать адекватный список, который можно …

  • python
  • sql
  • sqlite
  • sqlite3
  • for



0
голосов


0
ответов


27
показов


Как получать и проверять номер состояния, которые мы указываем в команде RAISEERROR в python?


Началось с того,что я реализовал все запросы sql через курсор в функциях python и вызывал их соответственно.
Потом мне сказали, что хранимые процедуры и функции и т.п. лучше обрабатывать в ms sql, и …

  • python
  • sql
  • sql-server



0
голосов


0
ответов


15
показов


Ошибка при ожидание дескриптора ядра в СУБД. SQL Server 2022 Express


Такую ошибку выдает при заверешние, не понимаю, что делать. Раньше была ошибка, что не находит дискриптор ядра. Удалила все, что скачивала и решила по новой. По итогу опять ошибка с дискриптором.



0
голосов


0
ответов


34
показа


Необходима разъяснить с запросом UPDATE. Как можно обновить,таблицу если заранее не знаешь количество переменных


Суть в том что в моей работе по требованиям преподавателя у таблицы есть такая функция , добавлять и удалять столбцы и поэтому я заранее не знаю сколько столбцов
мне нужно обновить . И вот столкнулся …

  • php
  • html
  • mysql
  • sql



0
голосов


1
ответ


39
показов


Проанализировать предметную область для построения модели данных [закрыт]


Предметная область — СТО.
Есть таблицы: услуги, мастера, заявки, клиент, менеджер, авто.
Необходимо, чтобы к каждой заявке, которая содержит несколько услуг, прицепить своего мастера.
Как лучше …

  • sql
  • база-данных
  • relationship



0
голосов


1
ответ


37
показов


Соединение таблиц sql


Всем доброго времени суток😊!
Я новичок в SQL, выполняя задание наткнулась на такую схему:
select count(*)
from testdat,
testart
where testdat. testart = testart.code
and testart.meaning = ‘…

  • sql
  • oracle






на странице

Примеры SQL-запросов

Автор: Daniel Calbimonte   |
Обновлено: 23 февраля 2022 г.   |
Комментарии   | Связанный: Подробнее > TSQL

Проблема

Если вы только начинаете писать SQL-запросы и ищете
введение в то, как писать основные запросы для Microsoft SQL Server, взгляните на это
учебник для некоторых примеров о том, как учиться
ВЫБОР SQL,
ВСТАВЛЯТЬ,
ОБНОВЛЕНИЕ и
УДАЛИТЬ
команды.

Решение

В этом новом руководстве по SQL мы рассмотрим базовый синтаксис SQL для выбора, вставки,
обновление и удаление таблицы.

Требования к примерам SQL

Чтобы продолжить, было бы полезно следующее:

  1. СУСУ
    или Azure Data Studio.
  2. Экземпляр
    SQL-сервер
    установлен.
  3. Мы будем использовать AdventureWorks
    образец базы данных в SQL Server.

В зависимости от установленной версии SQL Server вы можете использовать эту версию AdventureWorks.
или ранее.
Итак, если у вас есть SQL Server 2019, вы можете использовать AdventureWorks2019.bak или более ранние версии.
Если у вас есть SQL Server 2012, вам следует использовать AdventureWorks2012 или более ранние версии.

Дополнительные сведения об установке базы данных AdventureWorks см.
связь:

Этапы установки базы данных AdventureWorks.

Что такое SQL?

SQL означает язык структурных запросов. Это язык, используемый реляционными базами данных.
выбирать,
ВСТАВЛЯТЬ,
ОБНОВЛЕНИЕ и
УДАЛИТЬ
(команды DML — язык манипулирования данными) данных для большинства платформ баз данных, таких как Oracle, SQL Server, MySQL, PostgreSQL,
и т. д., которые используют язык SQL для запроса данных и управления ими. Вы также можете использовать
SQL для управления безопасностью и
другие объекты базы данных, такие как

СОЗДАТЬ БАЗУ ДАННЫХ,

СОЗДАТЬ ТАБЛИЦУ,
хранимые процедуры,

функции и многое другое с помощью (команд DDL — языка определения данных).

Чтобы подключиться из SSMS к SQL Server, используйте следующую ссылку, если вы не знакомы:

Используйте SQL Server Management Studio для подключения к базе данных.

Примеры SQL SELECT

Оператор select — это самый простой и простой SQL для запроса данных. Вот
основной синтаксис:

 ВЫБЕРИТЕ
   столбец1,
   столбец2
ИЗ схемы.таблица
 

В следующем примере запрашивается информация из таблицы Person.Person.
из Приключения 2019база данных.

 ВЫБЕРИТЕ
  [BusinessEntityID],
  [Тип лица],
  [Стиль имени]
ОТ [Человека].[Человека]
 

Следующий SQL запросит все столбцы из таблицы, используя *
вместо указания имен столбцов.

 ВЫБЕРИТЕ *
ОТ [Человека].[Человека]
 

Вы также можете использовать следующее с тем же результатом, что и таблица
Имя перед *.

 ВЫБЕРИТЕ человека.*
ОТ [Человека].[Человека]
 

Вы также можете фильтровать данные с помощью
ГДЕ предложение. Следующий пример будет фильтровать
данные, где BusinessEntityID равен 7.

 ВЫБЕРИТЕ *
ОТ [Человека].[Человека]
ГДЕ BusinessEntityID = 7
 

В следующем примере показано, как получить людей с именами, равными
к Гейл.

 ВЫБЕРИТЕ *
ОТ [Человека].[Человека]
ГДЕ Имя = 'Гейл'
 

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

 ВЫБЕРИТЕ Имя, Фамилия
ОТ [Человека].[Человека]
ГДЕ Фамилия КАК '%l'
 

Дополнительные примеры операторов SELECT в базе данных SQL см. в этих советах.
и учебники:

  • SQL Server SELECT Примеры
  • Пример подзапроса SQL Server
  • SQL Server IN и EXISTS
  • Что такое агрегатные функции в SQL

  • Агрегированные функции SQL Server T-SQL

  • Агрегатные функции окна SQL Server SUM, MIN, MAX и AVG

  • Функция SQL SELECT COUNT

  • UNION против UNION ALL в SQL Server

Примеры SQL JOIN

ПРИСОЕДИНИТЬСЯ
логика очень важна в языке SQL. Как следует из названия, он используется
для объединения таблиц, чтобы вы могли создавать запросы из нескольких таблиц в базе данных SQL.

ВНУТРЕННЕЕ СОЕДИНЕНИЕ

SQL-команда INNER JOIN получит данные из двух таблиц, где значения совпадают в обеих таблицах.

В следующем примере показаны NationalIDNumber, JobTitle, FirstName и
Фамилия сотрудников. Таблица HumanResources.Employee не содержит
Имя и Фамилия, поэтому мы должны присоединиться к таблице Person.Person, используя
BusinesssEntityID, который отображается как E.BusinessEntityID = P.BusinessEntityID .

Мы также используем псевдоним для таблиц. Поэтому вместо ввода [HumanResources].[Employee]
неоднократно мы используем псевдоним «E». Мы также делаем то же самое для [Person].[Person]
с псевдонимом «П».

 ВЫБЕРИТЕ
  E. Национальный идентификационный номер,
  E. Должность,
  П. Имя,
  П. Фамилия
FROM [HumanResources].[Сотрудник] as E
INNER JOIN [Person].[Person] as P on E. BusinessEntityID = P.BusinessEntityID
 
ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ

SQL-команда LEFT OUTER JOIN извлечет все данные из одной таблицы и только
соответствующие данные для левой таблицы в JOIN.

Здесь у нас есть пример ЛЕВОГО СОЕДИНЕНИЯ. Следующее
запрос показывает, как получить все записи людей, даже если нет соответствия
запись сотрудника. Это вернет каждую запись Person, а также покажет данные из
Таблица сотрудников, когда есть совпадение.

 ВЫБЕРИТЕ
  P.BusinessEntityID,
  E. Имя,
  E.Фамилия
ОТ [Человек].[Человек] как P
LEFT JOIN [HumanResources].[Employee] как E на E.BusinessEntityID = P.BusinessEntityID
 
ПОПЕРЕЧНОЕ СОЕДИНЕНИЕ

Наконец, у нас есть ПЕРЕКРЕСТНОЕ СОЕДИНЕНИЕ, которое является декартовым соединением со всеми возможными
комбинации. В следующем примере показано, как отобразить все комбинации
используя столбцы NationalIDNumer, JobTitle, FirstName, Lastname сотрудника
и персональные таблицы. Мы используем TOP 1000, чтобы показать только первые 1000 комбинаций.

 ВЫБЕРИТЕ ВЕРХНИЕ 1000
   E. Национальный идентификационный номер,
   E. Должность,
   П. Имя,
   П. Фамилия
FROM [HumanResources].[Сотрудник] as E
ПЕРЕКРЕСТНОЕ СОЕДИНЕНИЕ [Человек].[Человек] как P
 

Дополнительные сведения и примеры JOINS см. по следующим ссылкам:

  • Пример присоединения к SQL Server

  • Узнайте о соединениях SQL для нескольких столбцов

  • SQL RIGHT JOIN Примеры

  • Подсказки присоединения SQL Server

  • Начало работы с SQL INNER JOIN

Примеры SQL ORDER BY

Использование ORDER BY сортирует данные по возрастанию (asc) или убыванию (desc) в соответствии с
к одному или нескольким указанным столбцам. По умолчанию он находится в порядке возрастания.

В следующем примере столбцы таблицы лиц упорядочиваются по возрастанию.
порядке согласно столбцу FirstName.

 ВЫБЕРИТЕ
   Имя,
   Фамилия
ОТ [Человека].[Человека]
ЗАКАЗАТЬ ПО ИМЕНИ
 

Набор результатов будет в алфавитном порядке.

Вам не нужно указывать порядок возрастания, но вы можете сделать это следующим образом:

 ВЫБЕРИТЕ
   Имя,
   Фамилия
ОТ [Человека].[Человека]
ЗАКАЗАТЬ ПО ИМЕНЕ ASC
 

Для убывания используется следующий синтаксис:

 ВЫБЕРИТЕ
   Имя,
   Фамилия
ОТ [Человека].[Человека]
ЗАКАЗАТЬ ПО ИМЕНИ DESC
 

Дополнительные примеры и пояснения см.
ссылки:

  • Примеры предложения SQL ORDER BY

  • SQL ORDER BY Пункт

  • ВЫБЕРИТЕ с ГДЕ и ЗАКАЗАТЬ ПО

  • Избегайте ORDER BY в представлениях SQL Server

SQL GROUP BY Примеры

ГРУППА ПО
команды группируют или объединяют одни и те же данные, используя один или несколько столбцов.

Следующее
пример сгруппирует данные по TerritoryID и получит сумму фрахта для каждого
ID территории.

 ВЫБЕРИТЕ
   SUM(Freight) как TotalFreight,
   ID территории
FROM [Sales].[SalesOrderHeader]
СГРУППИРОВАТЬ ПО TerritoryID
 

Вы также можете включить
Предложение HAVING для фильтрации
СГРУППИРОВАТЬ ПО условию.

Следующий пример иллюстрирует
как использовать предложение HAVING и включать только строки, в которых сумма
больше чем
700000.

 ВЫБЕРИТЕ
   SUM(Freight) как TotalFreight,
   ID территории
FROM [Sales].[SalesOrderHeader]
СГРУППИРОВАТЬ ПО TerritoryID
СУММА (фрахт) > 700000
 

Примеры INSERT, UPDATE, DELETE и TRUNCATE

ВСТАВКА SQL

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

В следующем примере показано, как вставить новую строку в таблицу Sales.Currency.

 ВСТАВИТЬ В [Продажи].[Валюта]
ЗНАЧЕНИЯ ("MSS", "доллары SQL", GETDATE())
 
ОБНОВЛЕНИЕ SQL

UPDATE позволяет обновить существующие данные для таблицы
или посмотреть.

Здесь мы обновляем нашу новую строку и меняем CurrencyCode с «MSS» на
«SQL».

 ОБНОВЛЕНИЕ [Продажи].[Валюта]
УСТАНОВИТЕ код валюты = 'SQL'
ГДЕ Код валюты = 'MSS' 
SQL УДАЛИТЬ

DELETE позволяет удалить
одну или несколько строк из
таблица или вид.

В следующем примере удаляются ранее вставленные и обновленные данные.

 УДАЛИТЬ ИЗ [Продажи].[Валюта]
ГДЕ Код валюты = 'MSS'
 
SQL ВЫБЕРИТЕ… В

В этом примере показано, как создать новую таблицу с именем Sales.Currency2 на основе
существующая таблица Sales.Currency. Это создаст новую таблицу и сделает
скопировать все данные в новую таблицу с
Команда SQL SELECT … INTO.

 ВЫБЕРИТЕ *
В [Продажи].[Валюта2]
ОТ [Продажи].[Валюта]
 

Для получения дополнительной информации об этих командах см.
по этим ссылкам:

  • Команда SELECT для учебника по SQL Server
  • SQL INSERT INTO SELECT Примеры

  • ВСТАВИТЬ В SQL Server Команда

  • SQL
    Руководство по команде INSERT сервера
  • Оператор SQL UPDATE
  • Удалить оператор SQL в SQL Server, Oracle и PostgreSQL
  • Удалить повторяющиеся строки без первичного ключа в таблице SQL Server
  • Различия между удалением и усечением в SQL Server
  • Самый быстрый способ удалить большое количество записей в SQL Server
Следующие шаги

FДля получения дополнительной информации перейдите по следующим ссылкам:

  • Что
    SQL-сервер?
  • Учебное пособие по SQL Server 101. Схема и обзор

  • Изучение SQL Server

  • Краткое справочное руководство по типам данных SQL Server

  • Типы данных Varchar в SQL Server, Oracle и PostgreSQL
Об авторе

Даниэль Кальбимонте — Microsoft SQL Server MVP, сертифицированный тренер Microsoft и 6-кратный сертифицированный Microsoft ИТ-специалист. Даниэль начал свою карьеру в 2001 году и работал с SQL Server 6.0 до 2022 года. Дэниел является администратором баз данных, а также специализируется на технологиях бизнес-аналитики (SSIS, SSAS, SSRS).

Посмотреть все мои советы

Последнее обновление статьи: 23 февраля 2022 г.

Примеры специальных SQL-запросов

acf2src

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

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

В следующих примерах SQL-запросов показано, как написать запрос и как запрос будет обслуживаться из информации репозитория.

Список ролей, связанных с идентификатором пользователя

Этот SQL-запрос является основой отчета CAS4CR01. Этот запрос возвращает все роли, которые связаны с определенным идентификатором пользователя в определенном образе системы. Таблица ROLEXREF содержит информацию о перекрестных ссылках, соответствующую роли с каждым идентификатором пользователя, подключенным к этой роли.

Чтобы получить список ролей, связанных с идентификатором пользователя, выполните следующие команды SQL:

 

ВЫБЕРИТЕ * ОТ CIADB01.ROLEXREF ГДЕ USERID = 'TESTU01' И SYSID = 'SY59';

Создается отчет с ролями, связанными с идентификатором пользователя.

Список пользователей, подключенных к роли

Этот SQL-запрос является основой отчета CAS4CR02. Этот запрос возвращает идентификаторы пользователей и имена пользователей для всех пользователей, которые подключены к определенной роли на конкретном изображении.

Таблица ROLEXREF содержит информацию о перекрестных ссылках, соответствующую роли с каждым идентификатором пользователя, подключенным к этой роли. Таблица USERINFO используется для возврата имени пользователя для идентификатора пользователя.

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

 

SELECT CIADB01.ROLEXREF.SYSID, CIADB01.ROLEXREF.USERID, NAME ОТ CIADB01. ROLEXREF, CIADB01.USERINFO ГДЕ РОЛЕИД = 'ПРОФИЛЬ1' И CIADB01.ROLEXREF.SYSID = 'SY59' И CIADB01.ROLEXREF.SYSID = CIADB01.USERINFO.SYSID И CIADB01.ROLEXREF.USERID = CIADB01.USERINFO.USERID ЗАКАЗАТЬ ПО SYSID, USERID;

Создается отчет с пользователями, подключенными к указанной роли.

Список сведений о пользователе для идентификатора пользователя

Информация о конкретном пользователе содержится в нескольких таблицах в репозитории безопасности. Общая информация о пользователях содержится в таблице USERINFO.

ACF2

конкретная информация содержится в таблице USERACF2. Извлекаемые сегменты, такие как сегмент OMVS и сегмент CICS, содержатся в своих собственных таблицах, таких как таблицы USEROMVS и USERCICS.

Этот SQL-запрос возвращает всю информацию о пользователе для идентификатора пользователя, полученную из всех применимых пользовательских таблиц.

Этот код можно найти в элементе CAX1JCL0 CIASQL01.

Список идентификаторов пользователей для глобального идентификатора

Этот SQL-запрос возвращает все идентификаторы пользователей, связанные с определенным глобальным идентификатором, для всех образов системы, представленных в репозитории.

Таблица IDMAP содержит информацию о перекрестных ссылках, совпадающую с глобальным идентификатором с каждой комбинацией идентификатора пользователя и образа системы, которая соответствует этому глобальному идентификатору. Таблица USERINFO используется для возврата имени пользователя для идентификатора пользователя.

 

ВЫБЕРИТЕ CIADB01.IDMAP.SYSID, CIADB01.IDMAP.USERID, ИМЯ ИЗ CIADB01.IDMAP, CIADB01.USERINFO ГДЕ GLOBALID = 'TESTU01' И CIADB01.IDMAP.SYSID КАК '%' И CIADB01.IDMAP.SYSID = CIADB01.USERINFO.SYSID И CIADB01.IDMAP.USERID = CIADB01.USERINFO.USERID ЗАКАЗАТЬ ПО SYSID, USERID;

Список пользователей с атрибутом SECURITY без области действия

Для каждого образа системы в репозитории безопасности перечислите поле идентификатора пользователя и имени пользователя для каждого пользователя с атрибутом SECURITY без области действия.

Таблица USERACF2 содержит поля для атрибута безопасности и индикатора области действия. Таблица USERINFO используется для возврата имени пользователя для идентификатора пользователя.

 

ВЫБЕРИТЕ CIADB01.USERACF2.SYSID, CIADB01.USERACF2.USERID, ИМЯ ИЗ CIADB01.USERACF2, CIADB01.USERINFO ГДЕ (НЕ CIADB01.USERACF2.SCOPED = 'Y') И CIADB01.USERACF2.SECURITY = 'Y' И CIADB01.USERACF2.SYSID = CIADB01.USERINFO.SYSID И CIADB01.USERACF2.USERID = CIADB01.USERINFO.USERID ЗАКАЗАТЬ ПО SYSID, USERID;

Список неактивных пользователей

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

Таблица USERINFO содержит поля для идентификатора системы, идентификатора пользователя, имени пользователя и даты последнего доступа для идентификатора пользователя.

 

ВЫБЕРИТЕ SYSID, USERID, NAME, LUDATE ИЗ CIADB01.USERINFO ГДЕ ДНИ(ТЕКУЩАЯ ДАТА) - ДНИ(ЛУДАТА) + 1 > 30 ЗАКАЗАТЬ ПО SYSID, USERID;

Список пользователей, определенных за последние 30 дней

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

Таблица USERINFO содержит поля для идентификатора системы, идентификатора пользователя, имени пользователя и даты создания идентификатора пользователя.

 

ВЫБЕРИТЕ SYSID, USERID, NAME, CREDATE ИЗ CIADB01.USERINFO ГДЕ ДНИ(ТЕКУЩАЯ ДАТА) - ДНИ(CREDATE) + 1 < 30 ЗАКАЗАТЬ ПО SYSID, USERID;

Список пользователей с паролями с неограниченным сроком действия

Эти запросы отображают идентификаторы пользователей с паролями с неограниченным сроком действия.

Пароли с неограниченным сроком действия могут увеличить риск в среде вашего мейнфрейма. Часто просматривайте список паролей с неограниченным сроком действия, чтобы определить, нужны ли они, и смягчите те, которые не нужны.

Используйте один из следующих примеров в зависимости от того, какой параметр вашего сайта используется для параметра GSO PSWDMAX:

  • Если значение параметра GSO PSWDMAX равно 0, используйте этот образец:

    ВЫБЕРИТЕ U.USERID, U.NAME, A.ТЕЛЕФОН,
    U.