Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Что такое union в MySQL?
 
 автор: Адоп Акробат   (30.10.2004 в 00:29)   письмо автору
 
 

сабж

   
 
 автор: cheops   (30.10.2004 в 11:46)   письмо автору
 
   для: Адоп Акробат   (30.10.2004 в 00:29)
 

Оператор UNION позволяет объединить результаты двух или более запросов в одну результирующую таблицу.
Например, выбрать первичные ключи авторов сообщений за последние 2 суток
SELECT id_author
FROM authors
WHERE puttime<NOW() - interval 2 day

Кроме того, выбрать все первичные ключи авторов, чьё имя содержит подстроку "Адоп"
SELECT id_author
FROM authors
WHERE name LIKE "*Адоп*"

Тогда результат в котором содержались бы первичные ключи первого запроса и первичные ключи второго запроса можно получить при помощи конструкции UNION:
SELECT id_author
FROM authors
WHERE puttime<NOW() - interval 2 day
UNION
SELECT id_author
FROM authors
WHERE name LIKE "*Адоп*"

   
 
 автор: Адоп Акробат   (30.10.2004 в 16:42)   письмо автору
 
   для: cheops   (30.10.2004 в 11:46)
 

Понил а system() ?

   
 
 автор: cheops   (30.10.2004 в 16:53)   письмо автору
 
   для: Адоп Акробат   (30.10.2004 в 16:42)
 

Хм... это в MySQL? Я нашёл более или менее похожую функцию SYSTEM_USER() (синонимы USER(), SESSION_USER()) - эта функция возвращает текущего пользователя - не очень интересно, так как будет возвращаться имя, которое используется для доступа к базе данных - оно и так известно.

   
 
 автор: Адоп Акробат   (30.10.2004 в 18:31)   письмо автору
 
   для: cheops   (30.10.2004 в 16:53)
 

Ой извени не в мускуле а в ПХП

   
 
 автор: cheops   (30.10.2004 в 19:06)   письмо автору
 
   для: Адоп Акробат   (30.10.2004 в 18:31)
 

Эта функция позволят выполнить команду операционной системы:
<?php 
  
// Выведем содержимое текущей директории
  
system('ls -l'$retval); // В windows system('dir', $retval);
  
echo $retval;
?>

При помощи этой функции можно вызвать любую программу (Photoshop, например, если действие разворачивается в Windows :) и передать ей любые параметры.

PS Если PHP работает в безопасном режиме (большинство хостингов использует именного его), функция, помоему не доступна...

   
 
 автор: Адоп Акробат   (30.10.2004 в 22:26)   письмо автору
 
   для: cheops   (30.10.2004 в 19:06)
 

А какие у ней еще есть возможности?

   
 
 автор: Адоп Акробат   (31.10.2004 в 02:59)   письмо автору
 
   для: Адоп Акробат   (30.10.2004 в 22:26)
 

Хеоп а где можно почитать про system какие возможности какие фынкции ???

   
 
 автор: cheops   (31.10.2004 в 09:31)   письмо автору
 
   для: Адоп Акробат   (30.10.2004 в 22:26)
 

Возможности её сводятся к командам операционных систем, которые в свою очередь имеют безграничные возможности - в её описание ничего интересного не найдёте - лучше изучить список распрастранённых команд Linux и их параметры, которые передаются в качестве первого аргумента функции (толкового электронного справочника я не видел, правда и не очень, искал в силу явного преизбытка дома бумажных :).

   
 
 автор: Адоп Акробат   (31.10.2004 в 15:38)   письмо автору
 
   для: cheops   (31.10.2004 в 09:31)
 

Хеопс а ты незнаешь где можно почитать про команд Linux-а?? ато я все время на виндусе сидел и даже низнаю гди искать?

   
 
 автор: cheops   (01.11.2004 в 11:29)   письмо автору
 
   для: Адоп Акробат   (31.10.2004 в 15:38)
 

Стоит попробовать поискать по ключевым словам "man Linux HTML-формат" - где-то в рунете есть man-справочник по командам Linux в формате HTML.

   
 
 автор: Artemy   (04.11.2004 в 10:29)   письмо автору
 
   для: cheops   (30.10.2004 в 11:46)
 

А нельзя сделать так?

SELECT id_author FROM authors WHERE name LIKE "*Адоп*" and puttime<NOW() - interval 2 day

   
 
 автор: cheops   (04.11.2004 в 10:55)   письмо автору
 
   для: Artemy   (04.11.2004 в 10:29)
 

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

   
 
 автор: Artemy   (04.11.2004 в 11:10)   письмо автору
 
   для: cheops   (04.11.2004 в 10:55)
 

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

   
 
 автор: cheops   (04.11.2004 в 11:30)   письмо автору
 
   для: Artemy   (04.11.2004 в 11:10)
 

Может ошиблись тогда или запамятовали - сейчас порылся в доках - оператор UNION появился в MySQL начиная с версии 4 и действует как полноценный SQL-оператор UNION, т.е. с возможностью объединения результатов из разных таблиц (результаты должны быть в одном и том же формате).

   
 
 автор: Artemy   (04.11.2004 в 11:32)   письмо автору
 
   для: cheops   (04.11.2004 в 11:30)
 

Хи...хи...клёво!

   
 
 автор: glsv (Дизайнер)   (04.11.2004 в 12:47)   письмо автору
 
   для: Artemy   (04.11.2004 в 11:10)
 

>А была как-то темка, там мне сказали что нельзя обьединять запросы, в которые используют разные таблицы!

Там может быть обсуждались вложенные запросы... Но и они уже появились в какой то из 4-x версий.
А так как версии новые - только появились и хост-провайдеры пока на них не перешли, то в реальной работе приходится обходиться без этих возможностей.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования