Оператор                       проверка — КиберПедия 

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Оператор                       проверка

2019-05-27 186
Оператор                       проверка 0.00 из 5.00 0 оценок
Заказать работу

=                                          Равенство

<>                                        Неравенство

!=                                         Неравенство

<                                          Меньше

<=                                        Меньше или равно

!<                                         Не меньше, Больше

>=                                        Больше или равно

!>                                         Не больше

BETWEEN                          Вхождение в диапазон

IS NULL                              Проверка на пустое значение

Расширенная фильтрация данных. AND и OR

Сложная фильтрация данных может использовать операторы AND и OR и операторов сравнения (=,<,>,<=,>=,<>).

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

SELECT * FROM albums WHERE genre='рок' AND sales_in_millions<=50 ORDER BY released

In/Between/Like

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

· IN –указывает диапазоны условий, которые должны выполнятся

· BETWEEN – проверяет, находится ли значение в указанном диапазоне

· LIKE – ищет по определенным паттернам

Например, если нужно выбрать альбомы с поп и соул музыкой, мы можем использовать IN("value1","value2").

SELECT * FROM albums WHERE genre IN ('pop','soul');

Если нужны альбомы, изданные между 1975 и 1985годами,то:

SELECT * FROM albums WHERE released BETWEEN 1975 AND 1985;

Функции

SQL использует много функций:

· COUNT() – возвращает количество строк

· SUM() – возвращает общую сумму числового столбца

· AVG() – возвращает среднее значение из множества значений

· MIN() / MAX() – получает минимальное / максимальное значение из столбца

Чтобы получить самый последний год в таблице нужно записать запрос:

SELECT MAX(released) FROM albums;

Подзапросы

Если нужно использовать результат от расчетов, не обойтись без вложенных запросов. Допустим нужно вывести artist, album и release year для старейшего альбома в таблице.

Получить эти конкретные столбцы:

SELECT artist, album, released FROM albums;

Получить самый ранний год:

SELECT MIN(released) FROM album;

Нужно объединить два запроса с помощью WHERE:

SELECT artist,album,released FROM albums

WHERE released = (SELECT MIN(released) FROM albums);

Объединение таблиц

В более сложных базах данных существует несколько таблиц, связанных друг с другом. Например, представлены две таблицы о видеоиграх (video_games) и разработчиков видеоигр (game_developers).

 Таблица video_games

 Таблица game_developers

В таблице video_games есть колонка разработчик (developer_id), но в ней содержится целое число, а не имя разработчика. Это число представляет собой идентификатор (id) соответствующего разработчика из таблицы разработчиков игр (game_developers), связывая логически два списка, что позволяет нам использовать информацию, хранящуюся в них обоих одновременно.

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

SELECT video_games.name,

  video_games.genre,

  game_developers.name,

  game_developers.country

FROM video_games

INNER JOIN game_developers

ON video_games.developer_id = game_developers.id;

Это самый простой и наиболее распространенный тип JOIN. Есть несколько других вариантов.

Алиасы

В примере две колонки называемые name. Можно установить псевдоним одного из повторяющихся столбцов, например, name из таблицы game_developers будет называться developer.

Можно сократить запрос задав псевдонимы имен таблиц: video_games назовем games, game_developers – devs:

SELECT games.name,

  games.genre,

  devs.name AS developer,

  devs.country

FROM video_games AS games

INNER JOIN game_developers AS devs

ON games.developer_id = devs.id;

Обновление данных

В SQL с помощью инструкции UPDATE изменяются данные в некоторых строках. Инструкция UPDATE состоит из:

· Таблицы, в которой находится значение для замены;

· Имен столбцов и их новых значений;

· Выбранные с помощью WHERE строки, которые обновятся. Если этого не сделать, то изменятся все строки в таблице.

Ниже приведена таблица tv_seriesс сериалами с их рейтингом. В таблицу закралась маленькая ошибка: хотя сериал Игра престолов и описывается как комедия, он на самом деле ей не является. Исправление

 Данные таблицы tv_series

UPDATE tv_series SET genre = 'драма' WHERE id = 2;

Удаление данных

Удаление строки таблицы с помощью SQL происходит при помощи выбора таблицы и строки, которую нужно удалить. Удаление из предыдущего примера последней строки в таблице tv_series делается с помощью инструкции DELETE

DELETE FROM tv_series WHERE id = 4

Будьте осторожными при написании инструкции DELETE и убедитесь, что условие WHERE присутствует, иначе все строки таблицы будут удалены!

Удаление таблицы

Удаление всех строк с сохранением таблицы выполняет команда TRUNCATE:

TRUNCATE TABLE table_name;

Удаление всей таблицы – DROP:

DROP TABLE table_ name;


Ошибки и исключения

Существуют два типа ошибок: синтаксические и семантические.

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

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

При решении некоторых задач возможна некорректная подача данных или недопустимая ситуация. В этом случае предусматривается ситуация «исключения». Для обработы ситуации исключения многие языки программирования предусматривают свои инструментальные средства.

Так, для вычисления обратного значения Х можно написать следующий фрагмент программы

X=int(input())

print(1/X)

При вводе значения 2 программа выдаст следующие значения

При вводе 0 программа выдаст следующий фрагмент

Для работы с исключительными ситуациями используется конструкция

try:

# фрагмент программы

except: # except имя ошибки: - здесь определяется тип ошибки и реакция

# фрагмент программы, работающий в случае прерывания

else: #

# фрагмент программы, работающий в случае отсутствия прерываний

finally:

# фрагмент программы, работающий в любом

Пример решения задачи с обработкой прерывания

try:

   X=int(input())

print(1/X)

except:

print(“Error dividing by zero”)

На экране появится следующее изображение

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

 


Классы

Python ограничен в множественном наследовании в классах. Внутренние переменные и внутренние методы классов начинаются с двух знаков нижнего подчеркивания «__» (например «__myprivatevar»). Можно присвоить значение переменной класса извне. Пример:

 

class Myclass:

common = 10

def __init__(self):

   self. myvariable = 3

def myfunction (self, arg1, arg2):

   return self. myvariable

# Здесь объявили класс Myclass.

# Функция __init__ вызывается автоматически при инициализации классов.

classinstance = Myclass ()

# Инициализирован класс и переменная myvariable принимает значение 3 как заявлено в методе инициализации

classinstance. myfunction(1, 2)

#Метод myfunction класса Myclass возвращает значение переменной myvariable

3

# Переменная common объявлена во всех классах

classinstance2 = Myclass ()

classinstance.common # 10

classinstance2.common # 10

# Поэтому, если изменить ее значение в классе Myclass изменятся

# и ее значения в объектах, инициализированных классом Myclass

Myclass.common = 30

classinstance.common # 30

classinstance2.common # 30

# А здесь не изменяется переменная класса. Вместо этого объявляется

# в объекте и присваивается ей новое значение

classinstance.common = 10

classinstance.common # 10

classinstance2.common # 30

Myclass. common = 50

# Теперь изменение переменной класса не коснется переменных объектов

# этого класса

classinstance.common # 10

classinstance2.common # 50

# Следующий класс является наследником класса Myclass, наследуя его

# свойства и методы, к тому же класс может наследоваться из нескольких

# классов, в этом случае запись такая: class Otherclass(Myclass1, Myclass2,

# MyclassN)

class Otherclass (Myclass):

def __init__(self, arg1):

   self.myvariable = 3

   print arg1

classinstance = Otherclass("hello")

hello

classinstance. myfunction(1, 2) # 3

# Этот класс не имеет совйтсва test, но мы можем

# объявить такую переменную для объекта. Причем

# эта переменная будет членом только classinstance.

classinstance. test = 10 # classinstance.test – 10

 

Исключения в Python имеют структуру try-except [exceptionname]:

def somefunction():

try:

   10 / 0 # Деление на ноль вызывает ошибку

Except ZeroDivisionError:

  # Но программа не "Выполняет недопустимую операцию"

  # А обрабатывает блок соответствующий ошибке «ZeroDivisionError»

  Print "Oops, invalid."

fnexcept ()

Oops, invalid.


ПОДГОТОВКА К ОЛИМПИАДАМ ПО ИНФОРМАТИКЕ


Поделиться с друзьями:

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.051 с.