-> HR.EMPLOYEES will be test table.
SQL>
DESC HR.EMPLOYEES;
e.g.
To populate all data
SQL>
SELECT * FROM HR.EMPLOYEES;
To manipulate data by "COMMISSION_PCT" column descending order.
SQL>
SELECT *
FROM HR.EMPLOYEES
ORDER BY COMMISSION_PCT DESC;
-> This is wrong query cause "NULL" columns show on top. Therefore, "NULLS LAST" keyword should be used.
SQL>
SELECT *
FROM HR.EMPLOYEES
ORDER BY COMMISSION_PCT DESC NULLS LAST;
Showing posts with label hr. Show all posts
Showing posts with label hr. Show all posts
Friday, 30 March 2018
Saturday, 11 October 2014
How to select top 10 records in Oracle 11g and 12c?
In 11g:
As you now that TOP keyword does not exist in 11g, but you can use rownum keyword to query top records.
For example, you want to see top 10 salary records based on employees:
Run that SQL in your editor's SQL window.
Wrong one;
SELECT *
FROM (
SELECT employee_id, first_name, last_name, salary
FROM employees
)
WHERE rownum < 11
ORDER BY salary DESC;
* ORDER BY runs at last so that it should be in sub query.
Correct one;
SELECT *
FROM (
SELECT employee_id, first_name, last_name, salary
FROM employees
ORDER BY salary DESC
)
WHERE rownum < 11;
In 12c:
With 12c, you may use special syntax to see top records that is "FETCH" syntax.
SELECT employee_id, first_name, last_name, salary
FROM employees
ORDER BY salary DESC
FETCH FIRST 10 ROWS ONLY;
Also, you may disregard first 5 records inside 10 records.
SELECT employee_id, first_name, last_name, salary
FROM employees
ORDER BY salary DESC
OFFSET 5 ROWS
FETCH NEXT 5 ROWS ONLY;
That's all. Bye :)
As you now that TOP keyword does not exist in 11g, but you can use rownum keyword to query top records.
For example, you want to see top 10 salary records based on employees:
Run that SQL in your editor's SQL window.
Wrong one;
SELECT *
FROM (
SELECT employee_id, first_name, last_name, salary
FROM employees
)
WHERE rownum < 11
ORDER BY salary DESC;
* ORDER BY runs at last so that it should be in sub query.
Correct one;
SELECT *
FROM (
SELECT employee_id, first_name, last_name, salary
FROM employees
ORDER BY salary DESC
)
WHERE rownum < 11;
With 12c, you may use special syntax to see top records that is "FETCH" syntax.
SELECT employee_id, first_name, last_name, salary
FROM employees
ORDER BY salary DESC
FETCH FIRST 10 ROWS ONLY;
Also, you may disregard first 5 records inside 10 records.
SELECT employee_id, first_name, last_name, salary
FROM employees
ORDER BY salary DESC
OFFSET 5 ROWS
FETCH NEXT 5 ROWS ONLY;
That's all. Bye :)
Sunday, 20 April 2014
TORA ile veritabanına nasıl bağlanılır?
Bu yazıda, TORA ile veritabanına nasıl bağlanılır onu göreceğiz. Bunun için öncelikle şuradaki linkde yer alanları yapmanız gerekiyor.
*Örneğimizde Oracle XE ve kurulumla gelen HR kullanıcısını kullanacağız.
İlk olarak TORA.exe ye çift tıklayarak uygulamayı açıyoruz.
- TORA nereye kurduysanız orada TORA.exe'yi bulabilirsiniz. (ipucu: C:\Program Files\Tora\tora.exe)
Daha sonra "Connection provider -> Oracle (TNS)", "Username -> hr", "Password -> hr" ve "Database -> XE" seçip "OK" tuşuna basmamız yeterli.
Şimdi SQL Editor sekmesinde, SQL sorgumuzu yazabiliriz.
SQL sorgusunu yazdıktan sonra CTRL + Enter tuşlarına basarak sonucu görebilirsiniz.
İyi çalışmalar. :)
*Örneğimizde Oracle XE ve kurulumla gelen HR kullanıcısını kullanacağız.
İlk olarak TORA.exe ye çift tıklayarak uygulamayı açıyoruz.
- TORA nereye kurduysanız orada TORA.exe'yi bulabilirsiniz. (ipucu: C:\Program Files\Tora\tora.exe)
Daha sonra "Connection provider -> Oracle (TNS)", "Username -> hr", "Password -> hr" ve "Database -> XE" seçip "OK" tuşuna basmamız yeterli.
Şimdi SQL Editor sekmesinde, SQL sorgumuzu yazabiliriz.
SQL sorgusunu yazdıktan sonra CTRL + Enter tuşlarına basarak sonucu görebilirsiniz.
İyi çalışmalar. :)
Saturday, 19 April 2014
Oracle'da HR kullanıcısına nasıl bağlanılır?
Oracle Server kurduğunuzda HR kullanıcısına bağlanmaya çalıştığınızda, kilitli ve şifresi kullanılamaz hatası gelir. (user account locked and password has expired)
Bunun için sys kullanıcısı ile veritabanına bağlanın.
Windows için; Command Window'da
Linux için; Terminal'de
> sqlplus / as sysdba
Daha sonra aşağıdaki sql komutlarını çalıştırın.
SQL> ALTER USER hr ACCOUNT UNLOCK;
SQL> ALTER USER hr IDENTIFIED BY hr;
Şimdi, HR kullanıcısına bağlanabilirsiniz.
Not:
Username -> hr
Password -> hr
İyi çalışmalar.
Bunun için sys kullanıcısı ile veritabanına bağlanın.
Windows için; Command Window'da
Linux için; Terminal'de
> sqlplus / as sysdba
Daha sonra aşağıdaki sql komutlarını çalıştırın.
SQL> ALTER USER hr ACCOUNT UNLOCK;
SQL> ALTER USER hr IDENTIFIED BY hr;
Şimdi, HR kullanıcısına bağlanabilirsiniz.
Not:
Username -> hr
Password -> hr
İyi çalışmalar.
Subscribe to:
Posts (Atom)