Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1] 2  Все   Вниз
  Печать  
Автор Тема: SQL  (Прочитано 44609 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

SQL
« : 24-05-2008 16:18 » 

В этой теме я буду задавать вопросы, которые будут, косятся SQL.
Вот первый, Удалить книги, в коде которых присутствует цифры 6 или 7 пытался вот так:

1.
Код:
Delete From Books Where Quantity  Like' [dfaf6] or [dfaf7]';
//Удаляет 0 строк
2.
Код:
Delete From Books Where Quantity  Like' 6' or' 7';
//Удаляет все строк

SQL начал заниматься только вчера, Улыбаюсь как правильно указать диапазон.
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 24-05-2008 19:44 » 

Для чисел:
Код: (Text)
DELETE FROM Book WHERE Quantity BETWEEN 6 AND 7
или для подстрок:
Код: (Text)
DELETE FROM Book WHERE Quantity LIKE '%6%' OR Quantity LIKE '%7%'
« Последнее редактирование: 24-05-2008 19:46 от dimka » Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #2 : 25-05-2008 14:38 » 

dimka, Спасибо за помощь.
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 25-05-2008 16:11 » 

Diskriptor, скажи, а почему у тебя все задания какие-то разрушительные: то форматирование диска, то удаление записей? Улыбаюсь
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #4 : 25-05-2008 20:24 » 

dimka, Просто почему-то у меня не получается именно эти задания
Вот мое Д.З.
По SQL

1.   Вытащить название учебников, которые издавались не издательством 'BHV', и тираж которых >= 3000 экземпляров.
Код:
SELECT Press,Name,Pressrun From books Where  Press <> 'BHV' and (Pressrun>=3000);
2.   Вытащить книги, о дате издания которых ничего не известно.
Код:
SELECT Name,Date  From books Where Date  is null;
3.   Вытащить все книги-новинки, цена которых ниже 30р.
Код:
SELECT  Name, New,Price From books Where Price < 30 and New = true;
4.   Вытащить книги, в названиях которых есть слово Microsoft, но нет слова Windows
Четвертое зделал но корректный запрос сейчас не найду
5.   Вытащить книги, у которых цена одной страницы < 10 копеек.
Не успел
6.   Вытащить книги, в названиях которых присутствует не менее трех цифр.
Код:
SELECT Name From books Where Name Like '*#*#*#*';
7.   Удалить книги, в коде которых присутствует цифры 6 или 7.
Ну и 7 ты показал, как заделать, но он у меня не отработал поскольку я забыл упомянут что я пишу запрос на SQL к базе данных Access 2003
Там синтаксис чуть другой но мне там далше преподовател подсказал
А следующим шагом , будить установка Microsoft SQL Server 2000
Поможети,  :)а то не когда не ставел.
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 26-05-2008 05:36 » 

Цитата: Diskriptor
Четвертое зделал но корректный запрос сейчас не найду
Так надо не искать, надо писать Улыбаюсь А для этого надо знать синтаксические конструкции. Всё нужное для запроса ты знаешь, осталось это применить.

Цитата: Diskriptor
Ну и 7 ты показал, как заделать, но он у меня не отработал поскольку я забыл упомянут что я пишу запрос на SQL к базе данных Access 2003
Там синтаксис чуть другой но мне там далше преподовател подсказал
Не рассказывай сказок. Я выдал решение, синтаксис которое поддерживается практически любой реляционной СУБД. Access точно поддерживает. Если оно не работает, значит либо ты неверно сообщил задание, либо твои поля имеют другие названия и типы, нежели ты думал.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #6 : 26-05-2008 08:20 » 

dimka, Зная, что запрос надо писать, просто думал что я сохранил рабочий но его не оказалось ну нечего напишу новы, ну а что касается 7 задания запрос работает вот такой
Код:
DELETE FROM Books WHERE Quantity LIKE '*6*' OR Quantity LIKE '*7*';
То есть у меня поле Books и % заменил на * и все заработало, вот архив попробуй

* BOOKS.rar (53.23 Кб - загружено 791 раз.)
« Последнее редактирование: 26-05-2008 10:49 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #7 : 29-05-2008 11:02 » 

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

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 29-05-2008 11:27 » 

а что в книжках?
а ты все установил, что тебе предлагали?
например Microsoft Query?

Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #9 : 29-05-2008 15:43 » 

Sla, У меня ест две книге одна по 2005SQL server там описывается все от установка реализация администрирование, но там все по 2005 SQL server а мы учим 200SQL server и только в плане администрирования и чиста язык структурный запросов, у меня ест вторая книга там все расписано только по структурным запросам, но там не описывается установка ни какого server вообще, я все установил, как описывалось по этой ссылки http://muonlineprogs.ucoz.ru/publ/1-1-0-10
Цитата
а ты все установил, что тебе предлагали? например Microsoft Query?
да все, Query Analyzer и это тоже.
« Последнее редактирование: 29-05-2008 15:45 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #10 : 01-06-2008 22:16 » 

Здравствуйте пожалуйста помогите существует таблица Access в формате MDB распашите процедуру импорта это базы из Access в SQL, тесть я делаю следующие действия открываю Enterprise Manager Databases ToolsData Transformation ServicesImport Data Далше открывается окошко Chhose a Data Source в ниспадающем окошки Data Source выбираем Microsoft Access в File name на жимам на кнопочку с тремя точечками и указываем места положение базы которую нам надо ипартироват  далее открывается окно Choose a  destination в поле Destination оставляем по умолчанию Microsoft OLE DB Provider for SQL Server далее открывается окошко Specufy Tabble Copy or Query  глочку оставляем на Copy tables(s) and view(s) the souce databaseдалее  появляется окошко Select Source Tables and Views в этом окошки показывается имя Source – название базы, Destination- формат базы, Transfer –кнопочка с тремя точками далее следующие окно Save, schedule replicate packageГотово в окошки Summary выдает следующий отчет:
Source: Microsoft Access
Using Microsoft Jet 4.0 OLE DB Provider
Location: e:\база шаг\books.mdb

Destination: Microsoft SQL Server
Using Microsoft OLE DB Provider for SQL Server
Location: (local)
Database: master

Tables
books -> [master].[dbo].[books]
импорт прошел успешно захожу в Databases обновляю а базы нет, Здесь была моя ладья... почему?
 
« Последнее редактирование: 01-06-2008 22:18 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #11 : 02-06-2008 07:51 » 

Цитата: Diskriptor
импорт прошел успешно захожу в Databases обновляю а базы нет
Ещё бы, ты куда импорт выполнял?

Цитата: Diskriptor
Destination: Microsoft SQL Server
Using Microsoft OLE DB Provider for SQL Server
Location: (local)
Database: master
Всё же написано. Зачем-то системную базу данных испортил.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #12 : 02-06-2008 09:33 » 

dimka, Поныл я ошибаюсь в том куда импортировать базу при выбери в не спадающем окошки что выбрит вместо Microsoft OLE DB Provider for SQL Server подскажи, в окне Chose a Data Source выбираем что импортировать а в окне Choose a  destination куда импортировать вот тут я и ошибаюсь что в это окне выбрать  я системную базу не хотел импортировать, подкинет силку на хоровую книгу по 200 SQL server, для начинающего

Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #13 : 02-06-2008 11:05 » 

Diskriptor, ты специально не по русски пишешь? Пиши без ошибок пожалуйста!!!
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #14 : 02-06-2008 11:24 » 

Offtopic:

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

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #15 : 02-06-2008 11:51 » 

McZim, Извините все!
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #16 : 02-06-2008 14:12 » 

С импортом базы из Access в   SQL разобрался.
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #17 : 05-06-2008 15:28 » 

SQL Запросы Д.З№2
1.)Вывести все содержимое books:
Код:
Select * From books;
2.)Вывести все новые книги
Код:
Select N,New,Name From books Where New=1;
3.)Вывести все книги по программированию
Код:
Select N,Name,Themes From books where Themes like '%Программирование%';
4.)Вывести все книги кроме книг по программированию
Код:
Select N,Name,Themes From books where Themes not like '%Программирование%';
5.)Выведите все книги в диопозоне страниц от 400 до 600
Код:
SELECT N,Name,Pages FROM books WHERE pages >=400 and pages <=600;
6.)Выведете все книги все книги до30 грн., без мелочи
Код:
where (price-ROUND(price,0,1))=0
   and price<30
7.) Выведите все книги где в название ест 2000
Код:
Select Name From books Where   Name like '%2000%'
8.)Выведите книги, где в названии есть три буквы а, но нет буквы з
Код:
SELECT N,code,Name From books where Name like '%a%a%a%' 
    and   
Name not like '%з%'
9)Выведите все книги где ест слово Microsoft
Код:
SELECT Name From books 
Where   Name like '%Microsoft%'
10.)Выведите все книги, где Microsoft в начали названия
Код:
SELECT Name From books 
Where   Name like '[M][i][c][r][o][s][o][f][t]%'
11) Выведите книги, в названиях которых есть слово Microsoft, но нет слова Windows
Код:
SELECT Name From books 
Where   Name like '%Microsoft%'
    and   
Name not like '%Windows%'
12.) Выведите книги для программистов
Код:
Select N,Name From books where Themes not like '%Программисты%';
13) Выведите книги для администраторов 
Код:
SELECT Name From books Where Name Like '%админ%'
14.) Выведите все самоучители
Код:
SELECT Name From books Where Name Like '%самоуч%'
Все запросы работают Улыбаюсь
« Последнее редактирование: 16-08-2008 19:53 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #18 : 05-06-2008 15:57 » 

ошибка в 7 запросе
я думаю что 14 запрос не есть ответ
в 5-ом  запросе можно рассмотреть конструкцию с between
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #19 : 05-06-2008 17:45 » 

Sla,7 Запрос подправил

14 запрос работает нормально ну можно реализовать вот так
Код:
SELECT Name From books Where Name Like '%самоучитель%' 
в моем случаи на выводе данных из таблице  это не повлияло
Цитата
в 5-ом  запросе можно рассмотреть конструкцию с between

да рассмотрим, но чуть попозже.
« Последнее редактирование: 05-06-2008 18:06 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #20 : 05-06-2008 18:19 » 

Diskriptor, все верно, с 14 запросом, но есть одно!
у тебя есть поля Name и Themes
а о том что это самоучитель, может быть не указано в поле Name.
в частном случае, тебе повезло
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #21 : 05-06-2008 19:34 » 

Sla, Да, согласен очень тонкое замечание. 
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #22 : 09-06-2008 18:32 » 

я научился импортировать базу из  Access в SQL, но нам не показывали как подцепит балу SQL, ну то ест есть файл books.mdf его надо подкинут в SQL как это заделать
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #23 : 09-06-2008 19:00 » 

SQL это не база, это язык структурированных запросов, так что ты не мог туда выгрузить Улыбаюсь Я так понимаю тебе нужно в MySQL импортировать базу, тогда так:

Код:
mysql --host=имя_хоста --user=имя_юзера --password=пароль имя_базы < файл_дампа
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #24 : 09-06-2008 19:10 » 

McZim, Diskriptor работает с MS SQL
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #25 : 09-06-2008 19:12 » 

ок, тогда вот тут: http://www.databasejournal.com/features/mssql/article.php/3580216
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #26 : 09-06-2008 19:14 » 

На данном этапе обучения, ему не нужно знать как устроена файловая система СУБД
Просто, к сожалению преподаватель, читающий курс, человек нахватавшийся каких-то знаний, но не практик Жаль
« Последнее редактирование: 09-06-2008 19:17 от Sla » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #27 : 09-06-2008 19:16 » 

Нет! ему это не нужно!!!!
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #28 : 09-06-2008 19:18 » 

Diskriptor, в Enterprise Manager 2000-го сервера или в студии 2005 сервера в дереве объектов сервера кликнуть на Databases правой кнопкой и выбрать команду Attach. Дальше заполнить диалоговое окошко.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #29 : 09-06-2008 19:54 » 

dimka, спасибо буду знать.
P.S. я работаю в Enterprise Manager 2000
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Страниц: [1] 2  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines