SELECT t.*,TO_CHAR(ДАТА, 'dd-mm-yyyy hh24:mi:ss') ДАТА,TO_CHAR(ВРЕМЯ, 'dd-mm-yyyy hh24:mi:ss') ВРЕМЯ,TO_CHAR(ДАТА_К, 'dd-mm-yyyy hh24:mi:ss') ДАТА_К,TO_CHAR(ВРЕМЯ_К, 'dd-mm-yyyy hh24:mi:ss') ВРЕМЯ_К
FROM Н_СЕССИЯ t;
---------------
111111111111111111111111111111111111111111111111111
SELECT DISTINCT НАИМЕНОВАНИЕ
FROM Н_ДИСЦИПЛИНЫ;
+++++
222222222222222222222222222222222222222222222222222
SELECT ROUND(TO_DATE('2014/09/01', 'yyyy/mm/dd') - ДАТА_РОЖДЕНИЯ)
FROM Н_ЛЮДИ
WHERE ИД = (SELECT MAX(ИД) FROM Н_ЛЮДИ);
посчитать в месяцах
SELECT ROUND(MONTHS_BETWEEN(TO_DATE('2014/09/01', 'yyyy/mm/dd'), ДАТА_РОЖДЕНИЯ))
FROM Н_ЛЮДИ
WHERE ИД = (SELECT MAX(ИД) FROM Н_ЛЮДИ);
3333333333333333333333333333333333333333333333333333
SELECT ФАМИЛИЯ || ' ' || SUBSTR(ИМЯ,1,1) || '.' || SUBSTR(ОТЧЕСТВО,1,1) || '.' ЧЕЛОВЕК
FROM Н_ЛЮДИ
WHERE TO_CHAR(ДАТА_РОЖДЕНИЯ,'month') =
(SELECT TO_CHAR(ДАТА_РОЖДЕНИЯ,'month')
FROM Н_ЛЮДИ
WHERE ИД = (SELECT MAX(ИД) FROM Н_ЛЮДИ));
+++++
4444444444444444444444444444444444444444444444444444
SELECT ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ИД
FROM Н_ЛЮДИ
WHERE ФАМИЛИЯ LIKE(
SELECT SUBSTR((ФАМИЛИЯ),1,2) || '%'
FROM Н_ЛЮДИ WHERE ИД=(SELECT MAX(ИД) FROM Н_ЛЮДИ))
AND ROWNUM <= 75
ORDER BY ФАМИЛИЯ DESC,ИМЯ DESC, ОТЧЕСТВО DESC;
++++
5555555555555555555555555555555555555555555555555555
===========================
SELECT ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ИД
FROM Н_ЛЮДИ
WHERE SUBSTR(ФАМИЛИЯ,1,1) NOT IN ('А','Б','З') AND SUBSTR(ИМЯ,1,1) NOT IN ('К','У');
+++
SELECT ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ИД
FROM Н_ЛЮДИ
WHERE SUBSTR(ФАМИЛИЯ,1,1) <> 'А' AND SUBSTR(ФАМИЛИЯ,1,1) <> 'Б' AND SUBSTR(ФАМИЛИЯ,1,1) <> 'З' AND SUBSTR(ИМЯ,1,1) <> 'К' AND SUBSTR(ИМЯ,1,1) <> 'У';
+++
66666666666666666666666666666666666666666666666666666
===========================
SELECT COUNT(DISTINCT ИД)
FROM Н_ЛЮДИ
WHERE ИМЯ = (
SELECT ИМЯ FROM Н_ЛЮДИ
WHERE ИД = (
SELECT min(ИД)
FROM Н_ЛЮДИ));
------
77777777777777777777777777777777777777777777777777777
===========================
SELECT ОЦЕНКА*2
FROM Н_ВЕДОМОСТИ
WHERE ЧЛВК_ИД = (
SELECT MAX(ЧЛВК_ИД)
FROM Н_ВЕДОМОСТИ)
AND REGEXP_LIKE(ОЦЕНКА, '^[0-9]+$') AND ОЦЕНКА NOT IN ('99');
WITH t AS (SELECT '99' str FROM dual)
SELECT str
FROM t
WHERE REGEXP_LIKE(str, '^[0-9]+$');
А5-----
88888888888888888888888888888888888888888888888888888
===========================
SELECT SUM(ОЦЕНКА), Н_ЛЮДИ.ФАМИЛИЯ
FROM Н_ВЕДОМОСТИ
JOIN Н_ЛЮДИ ON Н_ВЕДОМОСТИ.ЧЛВК_ИД=Н_ЛЮДИ.ИД
WHERE ЧЛВК_ИД IN (
SELECT ИД FROM Н_ЛЮДИ
WHERE ИД>(SELECT AVG(ИД) FROM Н_ЛЮДИ) AND ROWNUM <=7)
AND REGEXP_LIKE(ОЦЕНКА, '^[0-9]+$') AND ОЦЕНКА NOT IN ('99')
GROUP BY Н_ЛЮДИ.ИД, Н_ЛЮДИ.ФАМИЛИЯ;
А5---- уникальный человек
99999999999999999999999999999999999999999999999999999
============================
SELECT * FROM Н_ОЦЕНКИ, Н_ТИПЫ_ВЕДОМОСТЕЙ, Н_ВИДЫ_РАБОТ, Н_СВОЙСТВА_ВР;
++++++
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
============================
SELECT AVG(ОЦЕНКА), ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО
FROM Н_ВЕДОМОСТИ
JOIN Н_ЛЮДИ ON Н_ВЕДОМОСТИ.ЧЛВК_ИД=Н_ЛЮДИ.ИД
WHERE ЧЛВК_ИД IN (
SELECT ИД FROM Н_ЛЮДИ
WHERE ИД>(SELECT AVG(ИД) FROM Н_ЛЮДИ) AND ROWNUM <=7)
AND REGEXP_LIKE(ОЦЕНКА, '^[0-9]+$') AND ОЦЕНКА NOT IN ('99')
GROUP BY ЧЛВК_ИД, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО;
++++
11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
===========================
SELECT ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО
FROM Н_ЛЮДИ
WHERE ИД IN (
SELECT ЧЛВК_ИД
FROM Н_ВЕДОМОСТИ
WHERE ОЦЕНКА IN('3','4') AND ДАТА BETWEEN TO_DATE('2011/09/01', 'yyyy/mm/dd') AND TO_DATE('2014/07/20', 'yyyy/mm/dd')
GROUP BY ЧЛВК_ИД)
ORDER BY ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО;
++++
13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
===========================
WITH t AS (SELECT (SELECT ИД FROM Н_ЛЮДИ WHERE ФАМИЛИЯ = 'Бусыгин') a FROM DUAL) SELECT 9 * REGEXP_COUNT(a,'9') + 8 * REGEXP_COUNT(a,'8') + 7 * REGEXP_COUNT(a,'7') + 6 * REGEXP_COUNT(a,'6') + 5 * REGEXP_COUNT(a,'5') + 4 * REGEXP_COUNT(a,'4') + 3 * REGEXP_COUNT(a,'3') + 2 * REGEXP_COUNT(a,'2') + 1 * REGEXP_COUNT(a,'1') FROM t;
SELECT ФАМИЛИЯ, COUNT(ФАМИЛИЯ) OVER (PARTITION BY ФАМИЛИЯ) A, ИМЯ, COUNT(ИМЯ) OVER (PARTITION BY ИМЯ) B, ОТЧЕСТВО, COUNT(ОТЧЕСТВО) OVER (PARTITION BY ОТЧЕСТВО) C FROM Н_ЛЮДИ order by A,B,C;
SELECT MAX(a) FROM (SELECT ФАМИЛИЯ, COUNT(ФАМИЛИЯ) a, ИМЯ, COUNT(ИМЯ), ОТЧЕСТВО, COUNT(ОТЧЕСТВО) FROM Н_ЛЮДИ group by ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО order by COUNT(ФАМИЛИЯ));
WITH T AS (SELECT ФАМИЛИЯ, COUNT(ФАМИЛИЯ) a, ИМЯ, COUNT(ИМЯ), ОТЧЕСТВО, COUNT(ОТЧЕСТВО) FROM Н_ЛЮДИ group by ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО order by COUNT(ФАМИЛИЯ)) SELECT ФАМИЛИЯ, MAX(a) FROM T;
SELECT sum_ball, М_ИД, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО
FROM (
SELECT DISTINCT Н_ВЕДОМОСТИ.ЧЛВК_ИД М_ИД, SUM(ОЦЕНКА) OVER (PARTITION BY ЧЛВК_ИД) sum_ball
FROM Н_ВЕДОМОСТИ
WHERE ЧЛВК_ИД IN(
SELECT ИД FROM Н_ЛЮДИ WHERE ФАМИЛИЯ || ИМЯ || ОТЧЕСТВО IN (
SELECT ФАМИЛИЯ || ИМЯ || ОТЧЕСТВО
FROM(
SELECT ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, COUNT(*) a
FROM Н_ЛЮДИ
GROUP BY ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО)
WHERE a=(
SELECT MAX(a)
FROM (
SELECT ФАМИЛИЯ, COUNT(ФАМИЛИЯ) a, ИМЯ, COUNT(ИМЯ), ОТЧЕСТВО, COUNT(ОТЧЕСТВО)
FROM Н_ЛЮДИ
group by ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО order by COUNT(ФАМИЛИЯ)))))
AND REGEXP_LIKE(ОЦЕНКА, '[[:digit:]]') AND ОЦЕНКА NOT IN ('99'))
JOIN Н_ЛЮДИ ON М_ИД=Н_ЛЮДИ.ИД
WHERE sum_ball < (
WITH t AS (SELECT (SELECT MAX(ИД) FROM Н_ЛЮДИ) a FROM DUAL)
SELECT 9 * REGEXP_COUNT(a,'9') + 8 * REGEXP_COUNT(a,'8') + 7 * REGEXP_COUNT(a,'7') + 6 * REGEXP_COUNT(a,'6') + 5 * REGEXP_COUNT(a,'5') + 4 * REGEXP_COUNT(a,'4') + 3 * REGEXP_COUNT(a,'3') + 2 * REGEXP_COUNT(a,'2') + 1 * REGEXP_COUNT(a,'1')
FROM t);
14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
===========================
SELECT 'Оценки 4 и 5 во всем университете', TO_CHAR(ROUND(AVG(ОЦЕНКА),2)) Средняя_оценка, TO_CHAR(COUNT(ОЦЕНКА)) Количество_оценок
FROM Н_ВЕДОМОСТИ
WHERE ОЦЕНКА IN('4','5')
UNION
SELECT 'Оценки ''зачет'' в произвольном учебном году во всем университете','-' Средняя_оценка, TO_CHAR(COUNT(ОЦЕНКА)) Количество_оценок
FROM Н_ВЕДОМОСТИ
WHERE ДАТА BETWEEN TO_DATE('2011/09/01', 'yyyy/mm/dd') AND TO_DATE('2014/07/20', 'yyyy/mm/dd') AND ОЦЕНКА IN ('зачет')
UNION all
SELECT 'Расстояние Левенштейна',TO_CHAR(utl_match.edit_distance('Припадчев', ФАМИЛИЯ)) Средняя_оценка, '-' Количество_оценок
FROM (SELECT ФАМИЛИЯ
FROM Н_ЛЮДИ
WHERE ИД IN (
SELECT ЧЛВК_ИД FROM Н_ВЕДОМОСТИ WHERE ОЦЕНКА='3'
UNION
SELECT ЧЛВК_ИД FROM Н_ВЕДОМОСТИ WHERE ОЦЕНКА='4'
UNION
SELECT ЧЛВК_ИД FROM Н_ВЕДОМОСТИ WHERE ОЦЕНКА='5')
AND ROWNUM <=10);
12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12
SUM(ОЦЕНКА) OVER (PARTITION BY ЧЛВК_ИД) sum_ball
SELECT EXTRACT(YEAR FROM (b - a) YEAR TO MONTH )
|| ' years '
|| EXTRACT(MONTH FROM (b - a) YEAR TO MONTH )
|| ' months '
|| EXTRACT(DAY FROM (b - a) DAY TO SECOND )
|| ' days '
|| EXTRACT(HOUR FROM (b - a) DAY TO SECOND )
|| ' hours'
"INTERVAL"
FROM (
SELECT TO_DATE('01-02-2005','dd-mm-YYYY') a , TO_DATE('02-01-2010','dd-mm-YYYY') b FROM dual)
;
http://stackoverflow.com/questions/3006431/how-to-display-table-data-more-clearly-in-oracle-sqlplus
```acle-sqlplus