Możesz SELECT EMPLOYEE.COL1, INFO.DATA_TYPE FROM EMPLOYEE, INFORMATION_SCHEMA.COLUMNS INFO WHERE INFO.TABLE_NAME='EMPLOYEE' AND COLUMN_NAME='COL1'
Aby jednak wybrać więcej pól, musisz ponownie dodać kolejne wystąpienie INFORMATION_SCHEMA.COLUMNS z innym aliasem.
Ale nie powinieneś tego robić z wielu powodów.
Technicznie:CROSS JOIN (tabele w FROM wymienione po prostu przecinkiem) są dużym obciążeniem dla serwera bazy danych. FROM T1, T2
łączy w pary wszystkie wiersze T1 ze wszystkimi wierszami T2 i sprawdza wiersze wyników. Jeśli T1 ma n wierszy, a T2 ma m, to wynik ma n*m wierszy.
Logicznie 1:Nie powinieneś potrzebować tych informacji do zwrotu. Po wprowadzeniu zapytania (SELECT) zwrócony schemat jest znany; zapytanie określa, jakie typy danych są w kolumnach wynikowych. Logicznie 2:Ponieważ każdy wiersz ma te same typy danych w kolumnach, nie musisz zwracać informacji o typie w każdym wierszu. Np. Twój przykład zwracający dane 1000 pracowników niepotrzebnie przeniósłby się na każdą linię że pole AGE to INTEGER, NAME to VARCHAR i tak dalej...
Jeśli jakoś nie znasz schematu wyniku (np. z powodu wygenerowanych zapytań itp.), powyższe rozwiązanie nie pomoże.